Working USB stream but without the clock sync
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
635E684B79701B039C64EA45C3F84D30=786B3C9175F8FD59BE24144A9C2C0972
|
||||
66BE74F758C12D739921AEA421D593D3=0
|
||||
8DF89ED150041C4CBC7CB9A9CAA90856=AB300AAF2E04A330B7C06C41BF25F205
|
||||
DC22A860405A8BF2F2C095E5B6529F12=AB300AAF2E04A330B7C06C41BF25F205
|
||||
8DF89ED150041C4CBC7CB9A9CAA90856=93686BBC250D6AB1A1396FED176FCE30
|
||||
DC22A860405A8BF2F2C095E5B6529F12=93686BBC250D6AB1A1396FED176FCE30
|
||||
eclipse.preferences.version=1
|
||||
|
||||
@@ -10,15 +10,8 @@
|
||||
|
||||
#include "AUDIO.h"
|
||||
|
||||
uint16_t pBuffer[200];
|
||||
|
||||
void Start(){
|
||||
for(uint32_t i = 0; i<100; i++){
|
||||
pBuffer[2*i] = i*655;
|
||||
pBuffer[(2*i)+1] = 32768;
|
||||
}
|
||||
AUDIO_OUT_Init(2, 35, 96000);
|
||||
AUDIO_OUT_Play(pBuffer, 400);
|
||||
AUDIO_OUT_Init(2, 100, 48000);
|
||||
while(1){
|
||||
|
||||
}
|
||||
|
||||
@@ -146,12 +146,11 @@ void SystemClock_Config(void)
|
||||
/** Initializes the RCC Oscillators according to the specified parameters
|
||||
* in the RCC_OscInitTypeDef structure.
|
||||
*/
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
|
||||
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
||||
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
|
||||
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
||||
RCC_OscInitStruct.PLL.PLLM = 8;
|
||||
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
||||
RCC_OscInitStruct.PLL.PLLM = 4;
|
||||
RCC_OscInitStruct.PLL.PLLN = 192;
|
||||
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4;
|
||||
RCC_OscInitStruct.PLL.PLLQ = 8;
|
||||
@@ -187,7 +186,7 @@ void PeriphCommonClock_Config(void)
|
||||
*/
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_I2S;
|
||||
PeriphClkInitStruct.PLLI2S.PLLI2SN = 200;
|
||||
PeriphClkInitStruct.PLLI2S.PLLI2SM = 10;
|
||||
PeriphClkInitStruct.PLLI2S.PLLI2SM = 5;
|
||||
PeriphClkInitStruct.PLLI2S.PLLI2SR = 2;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
||||
{
|
||||
@@ -283,7 +282,7 @@ static void MX_I2S3_Init(void)
|
||||
hi2s3.Init.Standard = I2S_STANDARD_PHILIPS;
|
||||
hi2s3.Init.DataFormat = I2S_DATAFORMAT_16B;
|
||||
hi2s3.Init.MCLKOutput = I2S_MCLKOUTPUT_ENABLE;
|
||||
hi2s3.Init.AudioFreq = I2S_AUDIOFREQ_96K;
|
||||
hi2s3.Init.AudioFreq = I2S_AUDIOFREQ_48K;
|
||||
hi2s3.Init.CPOL = I2S_CPOL_LOW;
|
||||
hi2s3.Init.ClockSource = I2S_CLOCK_PLL;
|
||||
hi2s3.Init.FullDuplexMode = I2S_FULLDUPLEXMODE_DISABLE;
|
||||
|
||||
@@ -35,12 +35,13 @@ I2S2.IPParameters=FullDuplexMode,ErrorAudioFreq,RealAudioFreq,AudioFreq,Instance
|
||||
I2S2.Instance=SPI$Index
|
||||
I2S2.RealAudioFreq=96.153 KHz
|
||||
I2S2.VirtualMode=I2S_MODE_MASTER
|
||||
I2S3.AudioFreq=I2S_AUDIOFREQ_96K
|
||||
I2S3.ErrorAudioFreq=-6.99 %
|
||||
I2S3.AudioFreq=I2S_AUDIOFREQ_48K
|
||||
I2S3.AudioFreqCustom=48000
|
||||
I2S3.ErrorAudioFreq=0.15 %
|
||||
I2S3.FullDuplexMode=I2S_FULLDUPLEXMODE_DISABLE
|
||||
I2S3.IPParameters=AudioFreq,ErrorAudioFreq,RealAudioFreq,Instance,VirtualMode,FullDuplexMode
|
||||
I2S3.IPParameters=AudioFreq,ErrorAudioFreq,RealAudioFreq,Instance,VirtualMode,FullDuplexMode,AudioFreqCustom
|
||||
I2S3.Instance=SPI$Index
|
||||
I2S3.RealAudioFreq=89.285 KHz
|
||||
I2S3.RealAudioFreq=48.076 KHz
|
||||
I2S3.VirtualMode=I2S_MODE_MASTER
|
||||
KeepUserPlacement=false
|
||||
Mcu.CPN=STM32F411VET6
|
||||
@@ -309,10 +310,12 @@ PE5.Signal=GPXTI5
|
||||
PH0\ -\ OSC_IN.GPIOParameters=GPIO_Label
|
||||
PH0\ -\ OSC_IN.GPIO_Label=PH0-OSC_IN
|
||||
PH0\ -\ OSC_IN.Locked=true
|
||||
PH0\ -\ OSC_IN.Mode=HSE-External-Oscillator
|
||||
PH0\ -\ OSC_IN.Signal=RCC_OSC_IN
|
||||
PH1\ -\ OSC_OUT.GPIOParameters=GPIO_Label
|
||||
PH1\ -\ OSC_OUT.GPIO_Label=PH1-OSC_OUT
|
||||
PH1\ -\ OSC_OUT.Locked=true
|
||||
PH1\ -\ OSC_OUT.Mode=HSE-External-Oscillator
|
||||
PH1\ -\ OSC_OUT.Signal=RCC_OSC_OUT
|
||||
PinOutPanel.RotationAngle=0
|
||||
ProjectManager.AskForMigrate=true
|
||||
@@ -327,7 +330,7 @@ ProjectManager.DeviceId=STM32F411VETx
|
||||
ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.27.0
|
||||
ProjectManager.FreePins=false
|
||||
ProjectManager.HalAssertFull=false
|
||||
ProjectManager.HeapSize=0x200
|
||||
ProjectManager.HeapSize=0x2000
|
||||
ProjectManager.KeepUserCode=true
|
||||
ProjectManager.LastFirmware=true
|
||||
ProjectManager.LibraryCopy=1
|
||||
@@ -338,7 +341,7 @@ ProjectManager.ProjectBuild=false
|
||||
ProjectManager.ProjectFileName=F411-DMA-Audio.ioc
|
||||
ProjectManager.ProjectName=F411-DMA-Audio
|
||||
ProjectManager.RegisterCallBack=
|
||||
ProjectManager.StackSize=0x400
|
||||
ProjectManager.StackSize=0x4000
|
||||
ProjectManager.TargetToolchain=STM32CubeIDE
|
||||
ProjectManager.ToolChainLocation=
|
||||
ProjectManager.UnderRoot=true
|
||||
@@ -358,17 +361,16 @@ RCC.HCLKFreq_Value=96000000
|
||||
RCC.HSE_VALUE=8000000
|
||||
RCC.HSI_VALUE=16000000
|
||||
RCC.I2SClocksFreq_Value=160000000
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLI2SM,PLLI2SN,PLLM,PLLP,PLLQ,PLLQCLKFreq_Value,PLLSourceVirtualString,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOInputMFreq_Value,VCOOutputFreq_Value,VcooutputI2S
|
||||
RCC.IPParameters=48MHZClocksFreq_Value,AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,EthernetFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLI2SM,PLLI2SN,PLLM,PLLP,PLLQ,PLLQCLKFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOInputMFreq_Value,VCOOutputFreq_Value,VcooutputI2S
|
||||
RCC.LSI_VALUE=32000
|
||||
RCC.MCO2PinFreq_Value=96000000
|
||||
RCC.PLLCLKFreq_Value=96000000
|
||||
RCC.PLLI2SM=10
|
||||
RCC.PLLI2SM=5
|
||||
RCC.PLLI2SN=200
|
||||
RCC.PLLM=8
|
||||
RCC.PLLM=4
|
||||
RCC.PLLP=RCC_PLLP_DIV4
|
||||
RCC.PLLQ=8
|
||||
RCC.PLLQCLKFreq_Value=48000000
|
||||
RCC.PLLSourceVirtualString=RCC_PLLSOURCE_HSI
|
||||
RCC.RTCFreq_Value=32000
|
||||
RCC.RTCHSEDivFreq_Value=4000000
|
||||
RCC.SYSCLKFreq_VALUE=96000000
|
||||
@@ -394,7 +396,7 @@ SPI1.Mode=SPI_MODE_MASTER
|
||||
SPI1.VirtualType=VM_MASTER
|
||||
USB_DEVICE.CLASS_NAME_FS=AUDIO
|
||||
USB_DEVICE.IPParameters=VirtualMode,VirtualModeFS,CLASS_NAME_FS,USBD_AUDIO_FREQ
|
||||
USB_DEVICE.USBD_AUDIO_FREQ=44100
|
||||
USB_DEVICE.USBD_AUDIO_FREQ=48000
|
||||
USB_DEVICE.VirtualMode=Audio
|
||||
USB_DEVICE.VirtualModeFS=Audio_FS
|
||||
USB_OTG_FS.IPParameters=VirtualMode
|
||||
|
||||
@@ -38,8 +38,8 @@ ENTRY(Reset_Handler)
|
||||
/* Highest address of the user mode stack */
|
||||
_estack = ORIGIN(RAM) + LENGTH(RAM); /* end of "RAM" Ram type memory */
|
||||
|
||||
_Min_Heap_Size = 0x200 ; /* required amount of heap */
|
||||
_Min_Stack_Size = 0x400 ; /* required amount of stack */
|
||||
_Min_Heap_Size = 0x2000 ; /* required amount of heap */
|
||||
_Min_Stack_Size = 0x4000 ; /* required amount of stack */
|
||||
|
||||
/* Memories definition */
|
||||
MEMORY
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
/* Private variables ---------------------------------------------------------*/
|
||||
|
||||
/* USER CODE END PV */
|
||||
|
||||
/** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
|
||||
@@ -186,9 +185,11 @@ static int8_t AUDIO_AudioCmd_FS(uint8_t* pbuf, uint32_t size, uint8_t cmd)
|
||||
switch(cmd)
|
||||
{
|
||||
case AUDIO_CMD_START:
|
||||
AUDIO_OUT_Play(pbuf, 2*size);
|
||||
break;
|
||||
|
||||
case AUDIO_CMD_PLAY:
|
||||
|
||||
break;
|
||||
}
|
||||
UNUSED(pbuf);
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
/*---------- -----------*/
|
||||
#define USBD_SELF_POWERED 1U
|
||||
/*---------- -----------*/
|
||||
#define USBD_AUDIO_FREQ 44100U
|
||||
#define USBD_AUDIO_FREQ 48000U
|
||||
|
||||
/****************************************/
|
||||
/* #define for FS and HS identification */
|
||||
|
||||
Reference in New Issue
Block a user