diff --git a/.settings/stm32cubeide.project.prefs b/.settings/stm32cubeide.project.prefs index 33ce972..df27a66 100644 --- a/.settings/stm32cubeide.project.prefs +++ b/.settings/stm32cubeide.project.prefs @@ -1,3 +1,3 @@ -8DF89ED150041C4CBC7CB9A9CAA90856=AB865C83BA39543F83B9ABB4BDB18952 -DC22A860405A8BF2F2C095E5B6529F12=A0ADE871A3658E381E3DD38DCB6504D2 +8DF89ED150041C4CBC7CB9A9CAA90856=0200E7423990B2759ED933AA554D57BA +DC22A860405A8BF2F2C095E5B6529F12=0200E7423990B2759ED933AA554D57BA eclipse.preferences.version=1 diff --git a/AudioDAC.ioc b/AudioDAC.ioc index 3b19314..d5d1471 100644 --- a/AudioDAC.ioc +++ b/AudioDAC.ioc @@ -1,380 +1,379 @@ #MicroXplorer Configuration settings - do not modify -Mcu.Family=STM32F4 -PC3.Mode=Half_Duplex_Master -SH.GPXTI1.0=GPIO_EXTI1 -ProjectManager.MainLocation=Core/Src -PD12.GPIO_Label=LD4 [Green Led] -PA6.Mode=Full_Duplex_Master -PC7.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode -USART2.IPParameters=VirtualMode -RCC.CortexFreq_Value=84000000 -PC10.GPIO_PuPd=GPIO_NOPULL -ProjectManager.KeepUserCode=true -Mcu.UserName=STM32F401VCTx -SPI1.VirtualType=VM_MASTER -PB6.GPIO_Mode=GPIO_MODE_AF_OD -PB10.Mode=Half_Duplex_Master -PC12.Locked=true -PC10.Locked=true -PD15.GPIO_Speed=GPIO_SPEED_FREQ_LOW -RCC.PLLCLKFreq_Value=84000000 -PC10.Signal=I2S3_CK -PC12.Signal=I2S3_SD -PA14.GPIO_Label=SWCLK -RCC.PLLQCLKFreq_Value=48000000 -PC7.Locked=true -I2S3.IPParameters=AudioFreq,RealAudioFreq,ErrorAudioFreq,Instance,VirtualMode,FullDuplexMode -PA12.GPIOParameters=GPIO_Label -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_I2C1_Init-I2C1-false-HAL-true,4-MX_I2S2_Init-I2S2-false-HAL-true,5-MX_I2S3_Init-I2S3-false-HAL-true,6-MX_SPI1_Init-SPI1-false-HAL-true,7-MX_USB_HOST_Init-USB_HOST-false-HAL-false,8-MX_USART2_UART_Init-USART2-false-HAL-true -PC0.GPIOParameters=PinState,GPIO_Label -PA9.GPIOParameters=GPIO_Label -PA11.GPIOParameters=GPIO_Label -USB_HOST0.BSP.condition= -PC0.GPIO_Label=OTG_FS_PowerSwitchOn -PC3.Locked=true -PA11.Mode=Host_Only -RCC.RTCFreq_Value=32000 -PA6.GPIO_Label=SPI1_MISO [L3GD20_AS0/SDO] -PB6.GPIO_Label=Audio_SCL [CS43L22_SCL] -PC10.GPIO_Speed=GPIO_SPEED_FREQ_LOW -PD4.Locked=true -PC15-OSC32_OUT.GPIO_Label=PC15-OSC32_OUT -PinOutPanel.RotationAngle=0 -PE5.GPIOParameters=GPIO_ModeDefaultEXTI -RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK -ProjectManager.StackSize=0x400 -PD13.Signal=GPIO_Output -Mcu.IP4=RCC -RCC.FCLKCortexFreq_Value=84000000 -Mcu.IP5=SPI1 -PD13.Locked=true -Mcu.IP2=I2S3 -NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false -Mcu.IP3=NVIC -PD14.GPIO_Speed=GPIO_SPEED_FREQ_LOW -Mcu.IP0=I2C1 -PA12.Locked=true -Mcu.IP1=I2S2 -PA12.Signal=USB_OTG_FS_DP -PE4.GPIOParameters=GPIO_ModeDefaultEXTI -Mcu.UserConstants= -PD15.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label -PH0\ -\ OSC_IN.Signal=RCC_OSC_IN -PA4.Mode=Half_Duplex_Master -PH0\ -\ OSC_IN.Locked=true -Mcu.ThirdPartyNb=0 -SPI1.Direction=SPI_DIRECTION_2LINES -RCC.HCLKFreq_Value=84000000 -Mcu.IPNb=10 -RCC.I2SClocksFreq_Value=96000000 -ProjectManager.PreviousToolchain= -PD4.Signal=GPIO_Output -RCC.APB2TimFreq_Value=84000000 -PB6.Signal=I2C1_SCL -RCC.VcooutputI2S=96000000 -PC7.Signal=I2S3_MCK -USB_HOST0.BSP.component= -PB6.Mode=I2C -SPI1.CalculateBaudRate=42.0 MBits/s -PC3.Signal=I2S2_SD -Mcu.Pin6=PH0 - OSC_IN -Mcu.Pin7=PH1 - OSC_OUT -PE5.Signal=GPXTI5 -Mcu.Pin8=PC0 -Mcu.Pin9=PC3 -PE1.Signal=GPXTI1 -USB_HOST0.BSP.ip=GPIO -RCC.AHBFreq_Value=84000000 -Mcu.Pin0=PE2 -Mcu.Pin1=PE3 -Mcu.Pin2=PE4 -Mcu.Pin3=PE5 -Mcu.Pin4=PC14-OSC32_IN -PA0-WKUP.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI -Mcu.Pin5=PC15-OSC32_OUT -ProjectManager.ProjectBuild=false -RCC.HSE_VALUE=8000000 -NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false -NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false -USB_OTG_FS.phy_itface=HCD_PHY_EMBEDDED -PA4.GPIO_PuPd=GPIO_NOPULL -PA4.Locked=true -NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true -PA4.GPIO_Speed=GPIO_SPEED_FREQ_LOW -ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.25.2 -MxDb.Version=DB.6.0.10 -I2S3.ErrorAudioFreq=-2.34 % -ProjectManager.BackupPrevious=false -PC14-OSC32_IN.Mode=LSE-External-Oscillator -RCC.VCOInputFreq_Value=1000000 -PA14.Mode=Serial_Wire File.Version=6 -PA10.GPIO_Label=OTG_FS_ID -PC7.GPIO_Mode=GPIO_MODE_AF_PP -PE3.GPIOParameters=GPIO_Label -PB3.GPIOParameters=GPIO_Label -PE2.Signal=GPIO_Input -PE3.Locked=true -I2S2.IPParameters=RealAudioFreq,ErrorAudioFreq,Instance,VirtualMode,FullDuplexMode -PD14.GPIO_PuPd=GPIO_NOPULL -PE1.Locked=true -PB6.Locked=true -NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:true\:false -USB_HOST0.BSP.i2creg=0 -PE4.Signal=GPXTI4 -PB6.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode -ProjectManager.HalAssertFull=false -PC14-OSC32_IN.GPIOParameters=GPIO_Label -ProjectManager.ProjectName=AudioDAC -PH0\ -\ OSC_IN.GPIOParameters=GPIO_Label -PA13.GPIOParameters=GPIO_Label -RCC.MCO2PinFreq_Value=84000000 -USB_HOST0.BSP.i2caddr=0 -PD13.GPIO_Label=LD3 [Orange Led] -Mcu.Package=LQFP100 -PB9.Signal=I2C1_SDA -PA6.Signal=SPI1_MISO -PB12.Mode=Half_Duplex_Master -PA7.Locked=true -PA5.Locked=true -USART2.VirtualMode=VM_ASYNC -PD12.Signal=GPIO_Output -PA14.Locked=true -PD5.GPIO_Label=OTG_FS_OverCurrent -PD5.GPIOParameters=GPIO_Label -NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true -ProjectManager.ToolChainLocation= -PD15.GPIO_PuPd=GPIO_NOPULL -PD14.Locked=true -RCC.LSI_VALUE=32000 -SH.GPXTI0.0=GPIO_EXTI0 -VP_SYS_VS_Systick.Signal=SYS_VS_Systick -SH.GPXTI5.ConfNb=1 -PA10.Signal=USB_OTG_FS_ID -PB9.GPIO_PuPd=GPIO_NOPULL -USB_OTG_FS.VirtualMode=Host_Only -PA5.GPIOParameters=GPIO_Label -USB_HOST0.BSP.name=Drive_VBUS_FS -PB9.GPIO_Speed=GPIO_SPEED_FREQ_LOW -RCC.APB1TimFreq_Value=84000000 -NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false -PC14-OSC32_IN.GPIO_Label=PC14-OSC32_IN -USB_OTG_FS.IPParameters=phy_itface,VirtualMode -PB10.GPIOParameters=GPIO_Label -PC12.GPIO_PuPd=GPIO_NOPULL -PC15-OSC32_OUT.GPIOParameters=GPIO_Label -PD5.Locked=true -PA4.GPIO_Label=I2S3_WS [CS43L22_LRCK] -PD15.Signal=GPIO_Output -ProjectManager.CustomerFirmwarePackage= -PC0.PinState=GPIO_PIN_SET -PC14-OSC32_IN.Locked=true -PB3.Locked=true -PA3.Signal=USART2_RX -PA5.Mode=Full_Duplex_Master -PB3.GPIO_Label=SWO -PA6.GPIOParameters=GPIO_Label -PC15-OSC32_OUT.Mode=LSE-External-Oscillator -USB_HOST.IPParameters=VirtualModeFS,USBH_HandleTypeDef -SH.GPXTI5.0=GPIO_EXTI5 -I2S3.FullDuplexMode=I2S_FULLDUPLEXMODE_DISABLE -ProjectManager.ProjectFileName=AudioDAC.ioc -PD12.GPIO_Speed=GPIO_SPEED_FREQ_LOW -PD15.GPIO_Label=LD6 [Blue Led] -PA7.Mode=Full_Duplex_Master -I2S2.Instance=SPI$Index -PB9.GPIO_Label=Audio_SDA [CS43L22_SDA] -PC10.GPIO_Label=I2S3_SCK [CS43L22_SCLK] -Mcu.PinsNb=40 -ProjectManager.NoMain=false -SPI1.IPParameters=Mode,CalculateBaudRate,VirtualType,Direction -PA9.GPIO_Label=VBUS_FS -PB6.GPIO_PuPd=GPIO_NOPULL -PH1\ -\ OSC_OUT.Mode=HSE-External-Oscillator -USB_HOST0.BSP.solution=PC0 -PC10.Mode=Half_Duplex_Master -USB_HOST.BSP.number=1 -PE4.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING -PD13.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label -SH.GPXTI0.ConfNb=1 -PA11.GPIO_Label=OTG_FS_DM -ProjectManager.DefaultFWLocation=true -PD5.Signal=GPIO_Input -PB12.Locked=true -ProjectManager.DeletePrevious=true -PC0.Signal=GPIO_Output -PE1.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING -RCC.APB1CLKDivider=RCC_HCLK_DIV2 -PC14-OSC32_IN.Signal=RCC_OSC32_IN -PB10.Locked=true -boardIOC=true -PH1\ -\ OSC_OUT.Locked=true -PA0-WKUP.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING -PA12.GPIO_Label=OTG_FS_DP -PA0-WKUP.GPIO_Label=B1 [Blue PushButton] -PA0-WKUP.Signal=GPXTI0 -PA0-WKUP.Locked=true -PB9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode -USB_HOST0.BSP.semaphore= -PD12.Locked=true -PC3.GPIOParameters=GPIO_Label -USB_HOST0.BSP.STBoard=false -PC12.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode -PA3.Mode=Asynchronous -PA13.Signal=SYS_JTMS-SWDIO -PC10.GPIO_Mode=GPIO_MODE_AF_PP -PA11.Locked=true -PA9.Mode=Activate_VBUS -PH0\ -\ OSC_IN.Mode=HSE-External-Oscillator -PC15-OSC32_OUT.Locked=true -PD12.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label -ProjectManager.TargetToolchain=STM32CubeIDE -PE5.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING -PB10.GPIO_Label=CLK_IN [MP45DT02_CLK] -PB9.Mode=I2C -PA9.Signal=USB_OTG_FS_VBUS -I2S2.VirtualMode=I2S_MODE_MASTER -PE4.Locked=true -PB9.Locked=true -I2S3.VirtualMode=I2S_MODE_MASTER -ProjectManager.RegisterCallBack= -PC7.GPIO_PuPd=GPIO_NOPULL -PC15-OSC32_OUT.Signal=RCC_OSC32_OUT -PB10.Signal=I2S2_CK -RCC.VCOI2SOutputFreq_Value=192000000 -PA5.Signal=SPI1_SCK -I2S3.AudioFreq=I2S_AUDIOFREQ_96K -PC12.Mode=Half_Duplex_Master -PH1\ -\ OSC_OUT.Signal=RCC_OSC_OUT -board=STM32F401C-DISCO -PD13.GPIO_Speed=GPIO_SPEED_FREQ_LOW -PC7.GPIO_Speed=GPIO_SPEED_FREQ_LOW -RCC.VCOOutputFreq_Value=336000000 -PE1.GPIO_Label=MEMS_INT2 [L3GD20_INT2] -ProjectManager.LastFirmware=true -USB_HOST.VirtualModeFS=Cdc -PB9.GPIO_Mode=GPIO_MODE_AF_OD -PA4.GPIO_Mode=GPIO_MODE_AF_PP -RCC.APB2Freq_Value=84000000 -USB_HOST0.BSP.api=Unknown -MxCube.Version=6.1.1 -Mcu.Pin37=PE1 -Mcu.Pin38=VP_SYS_VS_Systick -Mcu.Pin35=PB6 -Mcu.Pin36=PB9 -SPI1.Mode=SPI_MODE_MASTER -PD4.GPIO_Label=Audio_RST [CS43L22_RESET] -Mcu.Pin39=VP_USB_HOST_VS_USB_HOST_CDC_FS -Mcu.Pin30=PC10 -PA10.GPIOParameters=GPIO_Label -PD4.GPIOParameters=GPIO_Label -VP_SYS_VS_Systick.Mode=SysTick -Mcu.Pin33=PD5 -Mcu.Pin34=PB3 -Mcu.Pin31=PC12 -PD13.GPIO_PuPd=GPIO_NOPULL -Mcu.Pin32=PD4 -PA9.Locked=true -NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:true\:false -PD14.GPIO_Label=LD5 [Red Led] -PA4.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode -PE5.Locked=true -PC10.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode -PH1\ -\ OSC_OUT.GPIOParameters=GPIO_Label -PA13.Mode=Serial_Wire -ProjectManager.FreePins=false -RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLP,PLLQ,PLLQCLKFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S -ProjectManager.AskForMigrate=true -Mcu.Name=STM32F401V(B-C)Tx -Mcu.Pin26=PA11 -Mcu.Pin27=PA12 -RCC.RTCHSEDivFreq_Value=4000000 -PA2.Signal=USART2_TX -Mcu.Pin24=PA9 -PA13.GPIO_Label=SWDIO -ProjectManager.UnderRoot=true -Mcu.Pin25=PA10 +I2S2.AudioFreq=I2S_AUDIOFREQ_96K +I2S2.ErrorAudioFreq=-2.34 % I2S2.FullDuplexMode=I2S_FULLDUPLEXMODE_DISABLE +I2S2.IPParameters=RealAudioFreq,ErrorAudioFreq,Instance,VirtualMode,FullDuplexMode,AudioFreq +I2S2.Instance=SPI$Index +I2S2.RealAudioFreq=93.75 KHz +I2S2.VirtualMode=I2S_MODE_MASTER +I2S3.AudioFreq=I2S_AUDIOFREQ_96K +I2S3.ErrorAudioFreq=-2.34 % +I2S3.FullDuplexMode=I2S_FULLDUPLEXMODE_DISABLE +I2S3.IPParameters=Instance,VirtualMode,FullDuplexMode,RealAudioFreq,ErrorAudioFreq,AudioFreq +I2S3.Instance=SPI$Index +I2S3.RealAudioFreq=93.75 KHz +I2S3.VirtualMode=I2S_MODE_MASTER +KeepUserPlacement=false +Mcu.Family=STM32F4 +Mcu.IP0=I2C1 +Mcu.IP1=I2S2 +Mcu.IP2=I2S3 +Mcu.IP3=NVIC +Mcu.IP4=RCC +Mcu.IP5=SPI1 +Mcu.IP6=SYS +Mcu.IP7=USART2 Mcu.IP8=USB_HOST Mcu.IP9=USB_OTG_FS -PC7.GPIO_Label=I2S3_MCK [CS43L22_MCLK] -PD14.Signal=GPIO_Output -PH1\ -\ OSC_OUT.GPIO_Label=PH1-OSC_OUT -Mcu.Pin28=PA13 -Mcu.IP6=SYS -Mcu.Pin29=PA14 -Mcu.IP7=USART2 -ProjectManager.CoupleFile=false -PB3.Signal=SYS_JTDO-SWO -PA4.Signal=I2S3_WS -PD14.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label -RCC.SYSCLKFreq_VALUE=84000000 -Mcu.Pin22=PD15 -PC12.GPIO_Mode=GPIO_MODE_AF_PP -Mcu.Pin23=PC7 -VP_USB_HOST_VS_USB_HOST_CDC_FS.Signal=USB_HOST_VS_USB_HOST_CDC_FS -PA7.GPIO_Label=SPI1_MISO [L3GD20_SDA/SDI/SDO] +Mcu.IPNb=10 +Mcu.Name=STM32F401V(B-C)Tx +Mcu.Package=LQFP100 +Mcu.Pin0=PE2 +Mcu.Pin1=PE3 +Mcu.Pin10=PA0-WKUP +Mcu.Pin11=PA2 +Mcu.Pin12=PA3 +Mcu.Pin13=PA4 +Mcu.Pin14=PA5 +Mcu.Pin15=PA6 +Mcu.Pin16=PA7 +Mcu.Pin17=PB10 +Mcu.Pin18=PB12 +Mcu.Pin19=PD12 +Mcu.Pin2=PE4 Mcu.Pin20=PD13 Mcu.Pin21=PD14 -SH.GPXTI4.0=GPIO_EXTI4 -PA12.Mode=Host_Only -PA5.GPIO_Label=SPI1_SCK [L3GD20_SC/SPC] -PA10.Locked=true -I2S2.ErrorAudioFreq=0.0 % +Mcu.Pin22=PD15 +Mcu.Pin23=PC6 +Mcu.Pin24=PC7 +Mcu.Pin25=PA9 +Mcu.Pin26=PA10 +Mcu.Pin27=PA11 +Mcu.Pin28=PA12 +Mcu.Pin29=PA13 +Mcu.Pin3=PE5 +Mcu.Pin30=PA14 +Mcu.Pin31=PC10 +Mcu.Pin32=PC12 +Mcu.Pin33=PD4 +Mcu.Pin34=PD5 +Mcu.Pin35=PB3 +Mcu.Pin36=PB6 +Mcu.Pin37=PB9 +Mcu.Pin38=PE1 +Mcu.Pin39=VP_SYS_VS_Systick +Mcu.Pin4=PC14-OSC32_IN +Mcu.Pin40=VP_USB_HOST_VS_USB_HOST_CDC_FS +Mcu.Pin5=PC15-OSC32_OUT +Mcu.Pin6=PH0 - OSC_IN +Mcu.Pin7=PH1 - OSC_OUT +Mcu.Pin8=PC0 +Mcu.Pin9=PC3 +Mcu.PinsNb=41 +Mcu.ThirdPartyNb=0 +Mcu.UserConstants= +Mcu.UserName=STM32F401VCTx +MxCube.Version=6.1.1 +MxDb.Version=DB.6.0.10 +NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false +NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:true\:false NVIC.ForceEnableDMAVector=true -KeepUserPlacement=false -VP_USB_HOST_VS_USB_HOST_CDC_FS.Mode=CDC_FS -PA14.GPIOParameters=GPIO_Label -NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:true\:false -PA13.Locked=true -PC12.GPIO_Label=I2S3_SD [CS43L22_SDIN] -ProjectManager.CompilerOptimize=6 -PD15.Locked=true -PA11.Signal=USB_OTG_FS_DM -PA14.Signal=SYS_JTCK-SWCLK -ProjectManager.HeapSize=0x200 -Mcu.Pin15=PA6 NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false -Mcu.Pin16=PA7 -Mcu.Pin13=PA4 -SH.GPXTI4.ConfNb=1 -Mcu.Pin14=PA5 -Mcu.Pin19=PD12 -ProjectManager.ComputerToolchain=false -Mcu.Pin17=PB10 -RCC.HSI_VALUE=16000000 -Mcu.Pin18=PB12 -USB_HOST.USBH_HandleTypeDef=hUsbHostFS -RCC.PLLP=RCC_PLLP_DIV4 -RCC.PLLQ=7 +NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:true\:false +NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:true\:false +NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:true\:false NVIC.PriorityGroup=NVIC_PRIORITYGROUP_0 -Mcu.Pin11=PA2 -I2S3.RealAudioFreq=93.75 KHz -Mcu.Pin12=PA3 +NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:true\:false +NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:true\:true +NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:true\:false +PA0-WKUP.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI +PA0-WKUP.GPIO_Label=B1 [Blue PushButton] +PA0-WKUP.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING +PA0-WKUP.Locked=true +PA0-WKUP.Signal=GPXTI0 +PA10.GPIOParameters=GPIO_Label +PA10.GPIO_Label=OTG_FS_ID +PA10.Locked=true +PA10.Signal=USB_OTG_FS_ID +PA11.GPIOParameters=GPIO_Label +PA11.GPIO_Label=OTG_FS_DM +PA11.Locked=true +PA11.Mode=Host_Only +PA11.Signal=USB_OTG_FS_DM +PA12.GPIOParameters=GPIO_Label +PA12.GPIO_Label=OTG_FS_DP +PA12.Locked=true +PA12.Mode=Host_Only +PA12.Signal=USB_OTG_FS_DP +PA13.GPIOParameters=GPIO_Label +PA13.GPIO_Label=SWDIO +PA13.Locked=true +PA13.Mode=Serial_Wire +PA13.Signal=SYS_JTMS-SWDIO +PA14.GPIOParameters=GPIO_Label +PA14.GPIO_Label=SWCLK +PA14.Locked=true +PA14.Mode=Serial_Wire +PA14.Signal=SYS_JTCK-SWCLK +PA2.Mode=Asynchronous +PA2.Signal=USART2_TX +PA3.Mode=Asynchronous +PA3.Signal=USART2_RX +PA4.Mode=Half_Duplex_Master +PA4.Signal=I2S3_WS +PA5.GPIOParameters=GPIO_Label +PA5.GPIO_Label=SPI1_SCK [L3GD20_SC/SPC] +PA5.Locked=true +PA5.Mode=Full_Duplex_Master +PA5.Signal=SPI1_SCK +PA6.GPIOParameters=GPIO_Label +PA6.GPIO_Label=SPI1_MISO [L3GD20_AS0/SDO] +PA6.Locked=true +PA6.Mode=Full_Duplex_Master +PA6.Signal=SPI1_MISO +PA7.GPIOParameters=GPIO_Label +PA7.GPIO_Label=SPI1_MISO [L3GD20_SDA/SDI/SDO] +PA7.Locked=true +PA7.Mode=Full_Duplex_Master +PA7.Signal=SPI1_MOSI +PA9.GPIOParameters=GPIO_Label +PA9.GPIO_Label=VBUS_FS +PA9.Locked=true +PA9.Mode=Activate_VBUS +PA9.Signal=USB_OTG_FS_VBUS +PB10.GPIOParameters=GPIO_Label +PB10.GPIO_Label=CLK_IN [MP45DT02_CLK] +PB10.Locked=true +PB10.Mode=Half_Duplex_Master +PB10.Signal=I2S2_CK +PB12.Locked=true +PB12.Mode=Half_Duplex_Master +PB12.Signal=I2S2_WS +PB3.GPIOParameters=GPIO_Label +PB3.GPIO_Label=SWO +PB3.Locked=true +PB3.Signal=SYS_JTDO-SWO +PB6.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode +PB6.GPIO_Label=Audio_SCL [CS43L22_SCL] +PB6.GPIO_Mode=GPIO_MODE_AF_OD +PB6.GPIO_PuPd=GPIO_NOPULL +PB6.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PB6.Locked=true +PB6.Mode=I2C +PB6.Signal=I2C1_SCL +PB9.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode +PB9.GPIO_Label=Audio_SDA [CS43L22_SDA] +PB9.GPIO_Mode=GPIO_MODE_AF_OD +PB9.GPIO_PuPd=GPIO_NOPULL +PB9.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PB9.Locked=true +PB9.Mode=I2C +PB9.Signal=I2C1_SDA +PC0.GPIOParameters=PinState,GPIO_Label +PC0.GPIO_Label=OTG_FS_PowerSwitchOn +PC0.Locked=true +PC0.PinState=GPIO_PIN_SET +PC0.Signal=GPIO_Output +PC10.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode +PC10.GPIO_Label=I2S3_SCK [CS43L22_SCLK] +PC10.GPIO_Mode=GPIO_MODE_AF_PP +PC10.GPIO_PuPd=GPIO_NOPULL +PC10.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PC10.Locked=true +PC10.Mode=Half_Duplex_Master +PC10.Signal=I2S3_CK +PC12.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode +PC12.GPIO_Label=I2S3_SD [CS43L22_SDIN] +PC12.GPIO_Mode=GPIO_MODE_AF_PP +PC12.GPIO_PuPd=GPIO_NOPULL +PC12.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PC12.Locked=true +PC12.Mode=Half_Duplex_Master +PC12.Signal=I2S3_SD +PC14-OSC32_IN.GPIOParameters=GPIO_Label +PC14-OSC32_IN.GPIO_Label=PC14-OSC32_IN +PC14-OSC32_IN.Locked=true +PC14-OSC32_IN.Mode=LSE-External-Oscillator +PC14-OSC32_IN.Signal=RCC_OSC32_IN +PC15-OSC32_OUT.GPIOParameters=GPIO_Label +PC15-OSC32_OUT.GPIO_Label=PC15-OSC32_OUT +PC15-OSC32_OUT.Locked=true +PC15-OSC32_OUT.Mode=LSE-External-Oscillator +PC15-OSC32_OUT.Signal=RCC_OSC32_OUT +PC3.GPIOParameters=GPIO_Label +PC3.GPIO_Label=PDM_OUT [MP45DT02_DOUT] +PC3.Locked=true +PC3.Mode=Half_Duplex_Master +PC3.Signal=I2S2_SD +PC6.Mode=Master_Clock_Activated +PC6.Signal=I2S2_MCK +PC7.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label,GPIO_Mode +PC7.GPIO_Label=I2S3_MCK [CS43L22_MCLK] +PC7.GPIO_Mode=GPIO_MODE_AF_PP +PC7.GPIO_PuPd=GPIO_NOPULL +PC7.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PC7.Locked=true +PC7.Mode=Master_Clock_Activated +PC7.Signal=I2S3_MCK +PD12.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label +PD12.GPIO_Label=LD4 [Green Led] +PD12.GPIO_PuPd=GPIO_NOPULL +PD12.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PD12.Locked=true +PD12.Signal=GPIO_Output +PD13.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label +PD13.GPIO_Label=LD3 [Orange Led] +PD13.GPIO_PuPd=GPIO_NOPULL +PD13.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PD13.Locked=true +PD13.Signal=GPIO_Output +PD14.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label +PD14.GPIO_Label=LD5 [Red Led] +PD14.GPIO_PuPd=GPIO_NOPULL +PD14.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PD14.Locked=true +PD14.Signal=GPIO_Output +PD15.GPIOParameters=GPIO_Speed,GPIO_PuPd,GPIO_Label +PD15.GPIO_Label=LD6 [Blue Led] +PD15.GPIO_PuPd=GPIO_NOPULL +PD15.GPIO_Speed=GPIO_SPEED_FREQ_LOW +PD15.Locked=true +PD15.Signal=GPIO_Output +PD4.GPIOParameters=GPIO_Label +PD4.GPIO_Label=Audio_RST [CS43L22_RESET] +PD4.Locked=true +PD4.Signal=GPIO_Output +PD5.GPIOParameters=GPIO_Label +PD5.GPIO_Label=OTG_FS_OverCurrent +PD5.Locked=true +PD5.Signal=GPIO_Input +PE1.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI +PE1.GPIO_Label=MEMS_INT2 [L3GD20_INT2] +PE1.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING +PE1.Locked=true +PE1.Signal=GPXTI1 +PE2.Locked=true +PE2.Signal=GPIO_Input +PE3.GPIOParameters=GPIO_Label +PE3.GPIO_Label=CS_I2C/SPI [L3GD20_CS_I2C/SPI] +PE3.Locked=true +PE3.Signal=GPIO_Output +PE4.GPIOParameters=GPIO_ModeDefaultEXTI +PE4.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING +PE4.Locked=true +PE4.Signal=GPXTI4 +PE5.GPIOParameters=GPIO_ModeDefaultEXTI +PE5.GPIO_ModeDefaultEXTI=GPIO_MODE_EVT_RISING +PE5.Locked=true +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 +ProjectManager.BackupPrevious=false +ProjectManager.CompilerOptimize=6 +ProjectManager.ComputerToolchain=false +ProjectManager.CoupleFile=false +ProjectManager.CustomerFirmwarePackage= +ProjectManager.DefaultFWLocation=true +ProjectManager.DeletePrevious=true +ProjectManager.DeviceId=STM32F401VCTx +ProjectManager.FirmwarePackage=STM32Cube FW_F4 V1.25.2 +ProjectManager.FreePins=false +ProjectManager.HalAssertFull=false +ProjectManager.HeapSize=0x200 +ProjectManager.KeepUserCode=true +ProjectManager.LastFirmware=true +ProjectManager.LibraryCopy=1 +ProjectManager.MainLocation=Core/Src +ProjectManager.NoMain=false +ProjectManager.PreviousToolchain= +ProjectManager.ProjectBuild=false +ProjectManager.ProjectFileName=AudioDAC.ioc +ProjectManager.ProjectName=AudioDAC +ProjectManager.RegisterCallBack= +ProjectManager.StackSize=0x400 +ProjectManager.TargetToolchain=STM32CubeIDE +ProjectManager.ToolChainLocation= +ProjectManager.UnderRoot=true +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_I2C1_Init-I2C1-false-HAL-true,4-MX_I2S2_Init-I2S2-false-HAL-true,5-MX_I2S3_Init-I2S3-false-HAL-true,6-MX_SPI1_Init-SPI1-false-HAL-true,7-MX_USB_HOST_Init-USB_HOST-false-HAL-false,8-MX_USART2_UART_Init-USART2-false-HAL-true +RCC.AHBFreq_Value=84000000 +RCC.APB1CLKDivider=RCC_HCLK_DIV2 +RCC.APB1Freq_Value=42000000 +RCC.APB1TimFreq_Value=84000000 +RCC.APB2Freq_Value=84000000 +RCC.APB2TimFreq_Value=84000000 +RCC.CortexFreq_Value=84000000 +RCC.FCLKCortexFreq_Value=84000000 +RCC.HCLKFreq_Value=84000000 +RCC.HSE_VALUE=8000000 +RCC.HSI_VALUE=16000000 +RCC.I2SClocksFreq_Value=96000000 +RCC.IPParameters=AHBFreq_Value,APB1CLKDivider,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,I2SClocksFreq_Value,LSI_VALUE,MCO2PinFreq_Value,PLLCLKFreq_Value,PLLM,PLLN,PLLP,PLLQ,PLLQCLKFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,VCOI2SOutputFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VcooutputI2S +RCC.LSI_VALUE=32000 +RCC.MCO2PinFreq_Value=84000000 +RCC.PLLCLKFreq_Value=84000000 RCC.PLLM=8 RCC.PLLN=336 -Mcu.Pin10=PA0-WKUP -PE2.Locked=true -PE3.Signal=GPIO_Output -PA2.Mode=Asynchronous -PE3.GPIO_Label=CS_I2C/SPI [L3GD20_CS_I2C/SPI] -PC3.GPIO_Label=PDM_OUT [MP45DT02_DOUT] -PH0\ -\ OSC_IN.GPIO_Label=PH0-OSC_IN -I2S3.Instance=SPI$Index -PC7.Mode=Master_Clock_Activated -PB6.GPIO_Speed=GPIO_SPEED_FREQ_LOW +RCC.PLLP=RCC_PLLP_DIV4 +RCC.PLLQ=7 +RCC.PLLQCLKFreq_Value=48000000 +RCC.RTCFreq_Value=32000 +RCC.RTCHSEDivFreq_Value=4000000 +RCC.SYSCLKFreq_VALUE=84000000 +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +RCC.VCOI2SOutputFreq_Value=192000000 +RCC.VCOInputFreq_Value=1000000 +RCC.VCOOutputFreq_Value=336000000 +RCC.VcooutputI2S=96000000 +SH.GPXTI0.0=GPIO_EXTI0 +SH.GPXTI0.ConfNb=1 +SH.GPXTI1.0=GPIO_EXTI1 SH.GPXTI1.ConfNb=1 -RCC.APB1Freq_Value=42000000 -PC12.GPIO_Speed=GPIO_SPEED_FREQ_LOW -I2S2.RealAudioFreq=8.0 KHz -USB_HOST0.BSP.mode=Output -PA7.GPIOParameters=GPIO_Label -PC0.Locked=true -ProjectManager.DeviceId=STM32F401VCTx -PB12.Signal=I2S2_WS -ProjectManager.LibraryCopy=1 -PD12.GPIO_PuPd=GPIO_NOPULL -PE1.GPIOParameters=GPIO_Label,GPIO_ModeDefaultEXTI -PA7.Signal=SPI1_MOSI +SH.GPXTI4.0=GPIO_EXTI4 +SH.GPXTI4.ConfNb=1 +SH.GPXTI5.0=GPIO_EXTI5 +SH.GPXTI5.ConfNb=1 +SPI1.CalculateBaudRate=42.0 MBits/s +SPI1.Direction=SPI_DIRECTION_2LINES +SPI1.IPParameters=Mode,CalculateBaudRate,VirtualType,Direction +SPI1.Mode=SPI_MODE_MASTER +SPI1.VirtualType=VM_MASTER +USART2.IPParameters=VirtualMode +USART2.VirtualMode=VM_ASYNC +USB_HOST.BSP.number=1 +USB_HOST.IPParameters=VirtualModeFS,USBH_HandleTypeDef +USB_HOST.USBH_HandleTypeDef=hUsbHostFS +USB_HOST.VirtualModeFS=Cdc +USB_HOST0.BSP.STBoard=false +USB_HOST0.BSP.api=Unknown +USB_HOST0.BSP.component= +USB_HOST0.BSP.condition= +USB_HOST0.BSP.i2caddr=0 +USB_HOST0.BSP.i2creg=0 USB_HOST0.BSP.instance=PC0 -PA6.Locked=true +USB_HOST0.BSP.ip=GPIO +USB_HOST0.BSP.mode=Output +USB_HOST0.BSP.name=Drive_VBUS_FS +USB_HOST0.BSP.semaphore= +USB_HOST0.BSP.solution=PC0 +USB_OTG_FS.IPParameters=phy_itface,VirtualMode +USB_OTG_FS.VirtualMode=Host_Only +USB_OTG_FS.phy_itface=HCD_PHY_EMBEDDED +VP_SYS_VS_Systick.Mode=SysTick +VP_SYS_VS_Systick.Signal=SYS_VS_Systick +VP_USB_HOST_VS_USB_HOST_CDC_FS.Mode=CDC_FS +VP_USB_HOST_VS_USB_HOST_CDC_FS.Signal=USB_HOST_VS_USB_HOST_CDC_FS +board=STM32F401C-DISCO +boardIOC=true +isbadioc=false diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 8020901..58665e2 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -74,8 +74,6 @@ void Error_Handler(void); #define PDM_OUT_GPIO_Port GPIOC #define B1_Pin GPIO_PIN_0 #define B1_GPIO_Port GPIOA -#define I2S3_WS_Pin GPIO_PIN_4 -#define I2S3_WS_GPIO_Port GPIOA #define SPI1_SCK_Pin GPIO_PIN_5 #define SPI1_SCK_GPIO_Port GPIOA #define SPI1_MISO_Pin GPIO_PIN_6 diff --git a/Core/Src/app.c b/Core/Src/app.c index c736406..1d00224 100644 --- a/Core/Src/app.c +++ b/Core/Src/app.c @@ -13,8 +13,15 @@ #include "CS43L22.h" #define HEARTBEAT 1000 +#define BUFFER_SIZE_SINUS 16000 + +int16_t sinusTable[BUFFER_SIZE_SINUS] = { 0 }; +int i = 0; + + extern I2C_HandleTypeDef hi2c1; +extern I2S_HandleTypeDef hi2s2; extern I2S_HandleTypeDef hi2s3; CS43L22 cs43l22; @@ -23,6 +30,15 @@ uint32_t ts_blink = 0; uint8_t chipID = 0, revID = 0; uint16_t data = 0; +void initSinusTable(void) +{ + //Pour avoir un sinus partant d'une fréquence de 1Hz, il faut AUDIOFREQ_16K cases + for(int i = 0; i < BUFFER_SIZE_SINUS; i++) + { + sinusTable[i] = 4000*sin((1.0/(double)BUFFER_SIZE_SINUS)*(double)i*2.0*M_PI); + } +} + void dacRegDump() { uint8_t regDump[CS43L22_RESGISTER_COUNT] = {0}; @@ -49,23 +65,29 @@ void setup(void) printf("Failed to init DAC\r\n"); dacRegDump(); - //We disable the DAC - if(!CS43L22_WriteRegister(&cs43l22, POWER_CTL_1, 0b00000001)) - printf("Fail POWER_CTL_1\r\n"); //We set the auto clocking if(!CS43L22_WriteRegister(&cs43l22, CLOCKING_CTL, 0b10000001)) printf("Fail CLOCKING_CTL\r\n"); //... - if(!CS43L22_WriteRegister(&cs43l22, INTERFACE_CTL_1, 0b00000100)) - printf("Fail POWER_CTL_1\r\n"); + if(!CS43L22_WriteRegister(&cs43l22, INTERFACE_CTL_1, 0b00000111)) + printf("Fail INTERFACE_CTL_1\r\n"); if(!CS43L22_WriteRegister(&cs43l22, POWER_CTL_2, 0b10101111)) printf("Fail POWER_CTL_2\r\n"); + if(!CS43L22_WriteRegister(&cs43l22, MISC_CTL, 0b00000010)) + printf("Fail MISC_CTL\r\n"); + + /*if(!CS43L22_WriteRegister(&cs43l22, PASSTHROUGH_A_SELECT, 0b10001000)) + printf("Fail PASSTHROUGH_A_SELECT\r\n"); + + if(!CS43L22_WriteRegister(&cs43l22, PASSTHROUGH_B_SELECT, 0b10001000)) + printf("Fail PASSTHROUGH_B_SELECT\r\n");*/ + //We set the frequency - if(!CS43L22_WriteRegister(&cs43l22, BEEP_FREQ_ON_TIME, 0b00010000)) + /*if(!CS43L22_WriteRegister(&cs43l22, BEEP_FREQ_ON_TIME, 0b00010000)) printf("Fail BEEP_FREQ_ON_TIME\r\n"); //We set the volume @@ -74,11 +96,13 @@ void setup(void) //We activate the beep to continuous if(!CS43L22_WriteRegister(&cs43l22, BEEP_TONE_CFG, 0b11100000)) - printf("Fail BEEP_TONE_CFG\r\n"); + printf("Fail BEEP_TONE_CFG\r\n");*/ //We enable the DAC if(!CS43L22_WriteRegister(&cs43l22, POWER_CTL_1, 0b10011110)) printf("Fail POWER_CTL_1\r\n"); + + initSinusTable(); } void loop(void) @@ -89,12 +113,15 @@ void loop(void) if(!CS43L22_GetDeviceID(&cs43l22, &chipID, &revID)) printf("Failed to retrieve CS43L22 ID\r\n"); - else - printf("Device id : %u, revID : %u\r\n", chipID, revID); - - dacRegDump(); + //else + //printf("Device id : %u, revID : %u\r\n", chipID, revID); ts_blink = HAL_GetTick(); } + + //HAL_I2S_Transmit(&hi2s2, &data, 1, HAL_MAX_DELAY); + HAL_I2S_Transmit(&hi2s3, &sinusTable[i++], 2, HAL_MAX_DELAY); + if(i == BUFFER_SIZE_SINUS)i=0; + HAL_Delay(3); } diff --git a/Core/Src/main.c b/Core/Src/main.c index dc26a25..96b1e9d 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -232,8 +232,8 @@ static void MX_I2S2_Init(void) hi2s2.Init.Mode = I2S_MODE_MASTER_TX; hi2s2.Init.Standard = I2S_STANDARD_PHILIPS; hi2s2.Init.DataFormat = I2S_DATAFORMAT_16B; - hi2s2.Init.MCLKOutput = I2S_MCLKOUTPUT_DISABLE; - hi2s2.Init.AudioFreq = I2S_AUDIOFREQ_8K; + hi2s2.Init.MCLKOutput = I2S_MCLKOUTPUT_ENABLE; + hi2s2.Init.AudioFreq = I2S_AUDIOFREQ_96K; hi2s2.Init.CPOL = I2S_CPOL_LOW; hi2s2.Init.ClockSource = I2S_CLOCK_PLL; hi2s2.Init.FullDuplexMode = I2S_FULLDUPLEXMODE_DISABLE; diff --git a/Core/Src/stm32f4xx_hal_msp.c b/Core/Src/stm32f4xx_hal_msp.c index 2b74e2a..2c7b7c0 100644 --- a/Core/Src/stm32f4xx_hal_msp.c +++ b/Core/Src/stm32f4xx_hal_msp.c @@ -169,13 +169,14 @@ void HAL_I2S_MspInit(I2S_HandleTypeDef* hi2s) PC3 ------> I2S2_SD PB10 ------> I2S2_CK PB12 ------> I2S2_WS + PC6 ------> I2S2_MCK */ - GPIO_InitStruct.Pin = PDM_OUT_Pin; + GPIO_InitStruct.Pin = PDM_OUT_Pin|GPIO_PIN_6; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF5_SPI2; - HAL_GPIO_Init(PDM_OUT_GPIO_Port, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); GPIO_InitStruct.Pin = CLK_IN_Pin|GPIO_PIN_12; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; @@ -204,12 +205,12 @@ void HAL_I2S_MspInit(I2S_HandleTypeDef* hi2s) PC10 ------> I2S3_CK PC12 ------> I2S3_SD */ - GPIO_InitStruct.Pin = I2S3_WS_Pin; + GPIO_InitStruct.Pin = GPIO_PIN_4; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF6_SPI3; - HAL_GPIO_Init(I2S3_WS_GPIO_Port, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); GPIO_InitStruct.Pin = I2S3_MCK_Pin|I2S3_SCK_Pin|I2S3_SD_Pin; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; @@ -245,8 +246,9 @@ void HAL_I2S_MspDeInit(I2S_HandleTypeDef* hi2s) PC3 ------> I2S2_SD PB10 ------> I2S2_CK PB12 ------> I2S2_WS + PC6 ------> I2S2_MCK */ - HAL_GPIO_DeInit(PDM_OUT_GPIO_Port, PDM_OUT_Pin); + HAL_GPIO_DeInit(GPIOC, PDM_OUT_Pin|GPIO_PIN_6); HAL_GPIO_DeInit(GPIOB, CLK_IN_Pin|GPIO_PIN_12); @@ -268,7 +270,7 @@ void HAL_I2S_MspDeInit(I2S_HandleTypeDef* hi2s) PC10 ------> I2S3_CK PC12 ------> I2S3_SD */ - HAL_GPIO_DeInit(I2S3_WS_GPIO_Port, I2S3_WS_Pin); + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_4); HAL_GPIO_DeInit(GPIOC, I2S3_MCK_Pin|I2S3_SCK_Pin|I2S3_SD_Pin);