I2C3 enabled via CubeMX (LL)

- PCLK: 32MHz (PLL3R)
- 100kHz
- no INT
- SCL: PA8
- SDA: PC9
master
unicod 4 days ago
parent 4928e529f6
commit 72b8446e9d

@ -106,6 +106,7 @@ static void MX_USART2_UART_Init(void);
static void MX_I2S2_Init(void);
static void MX_I2C1_Init(void);
static void MX_I2S3_Init(void);
static void MX_I2C3_Init(void);
/* USER CODE BEGIN PFP */
@ -474,6 +475,7 @@ int main(void)
MX_I2S2_Init();
MX_I2C1_Init();
MX_I2S3_Init();
MX_I2C3_Init();
/* USER CODE BEGIN 2 */
CODEC_RST_LO(); // Reset the audio codec via HW reset pin
@ -787,6 +789,78 @@ static void MX_I2C1_Init(void)
}
/**
* @brief I2C3 Initialization Function
* @param None
* @retval None
*/
static void MX_I2C3_Init(void)
{
/* USER CODE BEGIN I2C3_Init 0 */
/* USER CODE END I2C3_Init 0 */
LL_I2C_InitTypeDef I2C_InitStruct = {0};
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
LL_RCC_SetI2CClockSource(LL_RCC_I2C3_CLKSOURCE_PLL3R);
LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOC);
LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOA);
/**I2C3 GPIO Configuration
PC9 ------> I2C3_SDA
PA8 ------> I2C3_SCL
*/
GPIO_InitStruct.Pin = LL_GPIO_PIN_9;
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
GPIO_InitStruct.Alternate = LL_GPIO_AF_4;
LL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = LL_GPIO_PIN_8;
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_OPENDRAIN;
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
GPIO_InitStruct.Alternate = LL_GPIO_AF_4;
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
/* Peripheral clock enable */
LL_APB3_GRP1_EnableClock(LL_APB3_GRP1_PERIPH_I2C3);
/* USER CODE BEGIN I2C3_Init 1 */
/* USER CODE END I2C3_Init 1 */
/** I2C Initialization
*/
LL_I2C_EnableAutoEndMode(I2C3);
LL_I2C_DisableOwnAddress2(I2C3);
LL_I2C_DisableGeneralCall(I2C3);
LL_I2C_EnableClockStretching(I2C3);
I2C_InitStruct.PeripheralMode = LL_I2C_MODE_I2C;
I2C_InitStruct.Timing = 0x00707CBB;
I2C_InitStruct.AnalogFilter = LL_I2C_ANALOGFILTER_ENABLE;
I2C_InitStruct.DigitalFilter = 0;
I2C_InitStruct.OwnAddress1 = 0;
I2C_InitStruct.TypeAcknowledge = LL_I2C_ACK;
I2C_InitStruct.OwnAddrSize = LL_I2C_OWNADDRESS1_7BIT;
LL_I2C_Init(I2C3, &I2C_InitStruct);
LL_I2C_SetOwnAddress2(I2C3, 0, LL_I2C_OWNADDRESS2_NOMASK);
/** I2C Fast mode Plus enable
*/
LL_I2C_EnableFastModePlus(I2C3);
/* USER CODE BEGIN I2C3_Init 2 */
/* USER CODE END I2C3_Init 2 */
}
/**
* @brief I2S2 Initialization Function
* @param None

@ -70,6 +70,8 @@ GPDMA2.TRANSFERALLOCATEDPORTSRC_GPDMACH2=DMA_SRC_ALLOCATED_PORT1
GPIO.groupedBy=Group By Peripherals
I2C1.IPParameters=Timing
I2C1.Timing=0x00707CBB
I2C3.IPParameters=Timing
I2C3.Timing=0x00707CBB
I2S2.AudioFreq=AudioFreqCustomValue
I2S2.AudioFreqCustom=32000
I2S2.DataFormat=I2S_DATAFORMAT_32B
@ -122,24 +124,25 @@ Mcu.ContextProject=TrustZoneDisabled
Mcu.Family=STM32H5
Mcu.IP0=BOOTPATH
Mcu.IP1=CORTEX_M33_NS
Mcu.IP10=NVIC
Mcu.IP11=PWR
Mcu.IP12=RCC
Mcu.IP13=SYS
Mcu.IP14=TIM2
Mcu.IP15=TIM5
Mcu.IP16=UART5
Mcu.IP17=USART2
Mcu.IP18=USART3
Mcu.IP10=MEMORYMAP
Mcu.IP11=NVIC
Mcu.IP12=PWR
Mcu.IP13=RCC
Mcu.IP14=SYS
Mcu.IP15=TIM2
Mcu.IP16=TIM5
Mcu.IP17=UART5
Mcu.IP18=USART2
Mcu.IP19=USART3
Mcu.IP2=DEBUG
Mcu.IP3=GPDMA1
Mcu.IP4=GPDMA2
Mcu.IP5=I2C1
Mcu.IP6=I2S2
Mcu.IP7=I2S3
Mcu.IP8=ICACHE
Mcu.IP9=MEMORYMAP
Mcu.IPNb=19
Mcu.IP6=I2C3
Mcu.IP7=I2S2
Mcu.IP8=I2S3
Mcu.IP9=ICACHE
Mcu.IPNb=20
Mcu.Name=STM32H533RETx
Mcu.Package=LQFP64
Mcu.Pin0=PC14-OSC32_IN(OSC32_IN)
@ -151,44 +154,46 @@ Mcu.Pin13=PB14
Mcu.Pin14=PB15
Mcu.Pin15=PC6
Mcu.Pin16=PC7
Mcu.Pin17=PA13(JTMS/SWDIO)
Mcu.Pin18=PA14(JTCK/SWCLK)
Mcu.Pin19=PA15(JTDI)
Mcu.Pin17=PC9
Mcu.Pin18=PA8
Mcu.Pin19=PA13(JTMS/SWDIO)
Mcu.Pin2=PH0-OSC_IN(PH0)
Mcu.Pin20=PC10
Mcu.Pin21=PC11
Mcu.Pin22=PC12
Mcu.Pin23=PD2
Mcu.Pin24=PB4(NJTRST)
Mcu.Pin25=PB5
Mcu.Pin26=PB6
Mcu.Pin27=PB7
Mcu.Pin28=PB8
Mcu.Pin29=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin20=PA14(JTCK/SWCLK)
Mcu.Pin21=PA15(JTDI)
Mcu.Pin22=PC10
Mcu.Pin23=PC11
Mcu.Pin24=PC12
Mcu.Pin25=PD2
Mcu.Pin26=PB4(NJTRST)
Mcu.Pin27=PB5
Mcu.Pin28=PB6
Mcu.Pin29=PB7
Mcu.Pin3=PH1-OSC_OUT(PH1)
Mcu.Pin30=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin31=VP_GPDMA1_VS_GPDMACH1
Mcu.Pin32=VP_GPDMA1_VS_GPDMACH2
Mcu.Pin33=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin34=VP_GPDMA2_VS_GPDMACH0
Mcu.Pin35=VP_GPDMA2_VS_GPDMACH1
Mcu.Pin36=VP_GPDMA2_VS_GPDMACH2
Mcu.Pin37=VP_GPDMA2_VS_GPDMACH3
Mcu.Pin38=VP_ICACHE_VS_ICACHE
Mcu.Pin39=VP_PWR_VS_SECSignals
Mcu.Pin30=PB8
Mcu.Pin31=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin32=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin33=VP_GPDMA1_VS_GPDMACH1
Mcu.Pin34=VP_GPDMA1_VS_GPDMACH2
Mcu.Pin35=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin36=VP_GPDMA2_VS_GPDMACH0
Mcu.Pin37=VP_GPDMA2_VS_GPDMACH1
Mcu.Pin38=VP_GPDMA2_VS_GPDMACH2
Mcu.Pin39=VP_GPDMA2_VS_GPDMACH3
Mcu.Pin4=PC2
Mcu.Pin40=VP_PWR_VS_LPOM
Mcu.Pin41=VP_SYS_VS_Systick
Mcu.Pin42=VP_TIM2_VS_ClockSourceINT
Mcu.Pin43=VP_TIM5_VS_ClockSourceINT
Mcu.Pin44=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin45=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.Pin40=VP_ICACHE_VS_ICACHE
Mcu.Pin41=VP_PWR_VS_SECSignals
Mcu.Pin42=VP_PWR_VS_LPOM
Mcu.Pin43=VP_SYS_VS_Systick
Mcu.Pin44=VP_TIM2_VS_ClockSourceINT
Mcu.Pin45=VP_TIM5_VS_ClockSourceINT
Mcu.Pin46=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin47=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.Pin5=PA0
Mcu.Pin6=PA1
Mcu.Pin7=PA2
Mcu.Pin8=PA3
Mcu.Pin9=PB1
Mcu.PinsNb=46
Mcu.PinsNb=48
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H533RETx
@ -235,6 +240,8 @@ PA3.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA3.Mode=Asynchronous
PA3.PinAttribute=Free
PA3.Signal=USART2_RX
PA8.Mode=I2C
PA8.Signal=I2C3_SCL
PB1.GPIOParameters=GPIO_Speed,PinAttribute
PB1.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB1.Locked=true
@ -328,6 +335,8 @@ PC7.GPIOParameters=GPIO_Speed
PC7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PC7.Mode=Master_Clock_Activated
PC7.Signal=I2S3_MCK
PC9.Mode=I2C
PC9.Signal=I2C3_SDA
PCC.Checker=false
PCC.Line=STM32H5x3
PCC.MCU=STM32H533RETx
@ -377,7 +386,7 @@ ProjectManager.ToolChainLocation=
ProjectManager.UAScriptAfterPath=
ProjectManager.UAScriptBeforePath=
ProjectManager.UnderRoot=true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_GPDMA1_Init-GPDMA1-false-LL-true,4-MX_GPDMA2_Init-GPDMA2-false-LL-true,5-MX_ICACHE_Init-ICACHE-false-LL-true,6-MX_TIM5_Init-TIM5-false-LL-true,7-MX_TIM2_Init-TIM2-false-LL-true,8-MX_USART3_UART_Init-USART3-false-LL-true,9-MX_UART5_Init-UART5-false-LL-true,10-MX_USART2_UART_Init-USART2-false-LL-true,11-MX_I2S2_Init-I2S2-false-LL-true,12-MX_I2C1_Init-I2C1-false-LL-true,13-MX_I2S3_Init-I2S3-false-LL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-LL-true,0-MX_PWR_Init-PWR-false-LL-true
ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-LL-false,2-MX_GPIO_Init-GPIO-false-LL-true,3-MX_GPDMA1_Init-GPDMA1-false-LL-true,4-MX_GPDMA2_Init-GPDMA2-false-LL-true,5-MX_ICACHE_Init-ICACHE-false-LL-true,6-MX_TIM5_Init-TIM5-false-LL-true,7-MX_TIM2_Init-TIM2-false-LL-true,8-MX_USART3_UART_Init-USART3-false-LL-true,9-MX_UART5_Init-UART5-false-LL-true,10-MX_USART2_UART_Init-USART2-false-LL-true,11-MX_I2S2_Init-I2S2-false-LL-true,12-MX_I2C1_Init-I2C1-false-LL-true,13-MX_I2S3_Init-I2S3-false-LL-true,14-MX_I2C3_Init-I2C3-false-LL-true,0-MX_CORTEX_M33_NS_Init-CORTEX_M33_NS-false-LL-true,0-MX_PWR_Init-PWR-false-LL-true
RCC.ADCFreq_Value=80000000
RCC.AHBFreq_Value=80000000
RCC.APB1Freq_Value=80000000
@ -402,10 +411,11 @@ RCC.HSI_VALUE=64000000
RCC.I2C1CLockSelection=RCC_I2C1CLKSOURCE_PLL3R
RCC.I2C1Freq_Value=32000000
RCC.I2C2Freq_Value=80000000
RCC.I2C3Freq_Value=80000000
RCC.I2C3CLockSelection=RCC_I2C3CLKSOURCE_PLL3R
RCC.I2C3Freq_Value=32000000
RCC.I3C1Freq_Value=80000000
RCC.I3C2Freq_Value=80000000
RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CKPERFreq_Value,CKPERSourceSelection,CRSFreq_Value,CSI_VALUE,CortexFreq_Value,DACFreq_Value,EPOD_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1CLockSelection,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I3C1Freq_Value,I3C2Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSIRC_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,OCTOSPIMFreq_Value,PLL1P,PLL1Q,PLL2M,PLL2N,PLL2P,PLL2PoutputFreq_Value,PLL2Q,PLL2QoutputFreq_Value,PLL2RoutputFreq_Value,PLL2Source,PLL3N,PLL3PoutputFreq_Value,PLL3Q,PLL3QoutputFreq_Value,PLL3R,PLL3RoutputFreq_Value,PLL3Source,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SDMMC1Freq_Value,SPI1Freq_Value,SPI2CLockSelection,SPI2Freq_Value,SPI3CLockSelection,SPI3Freq_Value,SPI4Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5CLockSelection,UART5Freq_Value,UCPD1outputFreq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOPLL2OutputFreq_Value,VCOPLL3OutputFreq_Value
RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,APB3Freq_Value,CKPERFreq_Value,CKPERSourceSelection,CRSFreq_Value,CSI_VALUE,CortexFreq_Value,DACFreq_Value,EPOD_VALUE,FCLKCortexFreq_Value,FDCANFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1CLockSelection,I2C1Freq_Value,I2C2Freq_Value,I2C3CLockSelection,I2C3Freq_Value,I3C1Freq_Value,I3C2Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSIRC_VALUE,MCO1PinFreq_Value,MCO2PinFreq_Value,OCTOSPIMFreq_Value,PLL1P,PLL1Q,PLL2M,PLL2N,PLL2P,PLL2PoutputFreq_Value,PLL2Q,PLL2QoutputFreq_Value,PLL2RoutputFreq_Value,PLL2Source,PLL3N,PLL3PoutputFreq_Value,PLL3Q,PLL3QoutputFreq_Value,PLL3R,PLL3RoutputFreq_Value,PLL3Source,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SDMMC1Freq_Value,SPI1Freq_Value,SPI2CLockSelection,SPI2Freq_Value,SPI3CLockSelection,SPI3Freq_Value,SPI4Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,UART4Freq_Value,UART5CLockSelection,UART5Freq_Value,UCPD1outputFreq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USART6Freq_Value,USBFreq_Value,VCOInput2Freq_Value,VCOInput3Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOPLL2OutputFreq_Value,VCOPLL3OutputFreq_Value
RCC.LPTIM1Freq_Value=80000000
RCC.LPTIM2Freq_Value=80000000
RCC.LPUART1Freq_Value=80000000

Loading…
Cancel
Save