I2C1 enabled via CubeMX (LL)

- PCLK: 32MHz (PLL3R)
- 100kHz
- no INT
- SCL: PB6
- SDA: PB7
master
unicod 4 weeks ago
parent 70acda8556
commit e81f6126c7

@ -1,8 +1,8 @@
[PreviousLibFiles]
LibFiles=Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_gpio.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_system.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_exti.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_cortex.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_bus.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_rcc.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_crs.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_utils.h;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_pwr.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dma.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dmamux.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_spi.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_icache.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_tim.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_usart.h;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_gpio.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_rcc.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_dma.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_spi.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_icache.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_pwr.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_tim.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_usart.c;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_gpio.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_system.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_exti.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_cortex.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_bus.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_rcc.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_crs.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_utils.h;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_pwr.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dma.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dmamux.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_spi.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_icache.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_tim.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_usart.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h533xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h5xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Source\Templates\system_stm32h5xx.c;Drivers\CMSIS\Include\cachel1_armv7.h;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm55.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_cm85.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\core_starmc1.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\pac_armv81.h;Drivers\CMSIS\Include\pmu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
LibFiles=Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_gpio.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_system.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_exti.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_cortex.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_bus.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_rcc.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_crs.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_utils.h;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_pwr.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dma.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dmamux.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_i2c.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_spi.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_icache.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_tim.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_usart.h;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_gpio.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_rcc.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_dma.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_i2c.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_spi.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_icache.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_pwr.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_tim.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_usart.c;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_gpio.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_system.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_exti.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_cortex.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_bus.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_rcc.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_crs.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_utils.h;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_pwr.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dma.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_dmamux.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_i2c.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_spi.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_icache.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_tim.h;Drivers\STM32H5xx_HAL_Driver\Inc\stm32h5xx_ll_usart.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h533xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\stm32h5xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Include\system_stm32h5xx.h;Drivers\CMSIS\Device\ST\STM32H5xx\Source\Templates\system_stm32h5xx.c;Drivers\CMSIS\Include\cachel1_armv7.h;Drivers\CMSIS\Include\cmsis_armcc.h;Drivers\CMSIS\Include\cmsis_armclang.h;Drivers\CMSIS\Include\cmsis_armclang_ltm.h;Drivers\CMSIS\Include\cmsis_compiler.h;Drivers\CMSIS\Include\cmsis_gcc.h;Drivers\CMSIS\Include\cmsis_iccarm.h;Drivers\CMSIS\Include\cmsis_version.h;Drivers\CMSIS\Include\core_armv81mml.h;Drivers\CMSIS\Include\core_armv8mbl.h;Drivers\CMSIS\Include\core_armv8mml.h;Drivers\CMSIS\Include\core_cm0.h;Drivers\CMSIS\Include\core_cm0plus.h;Drivers\CMSIS\Include\core_cm1.h;Drivers\CMSIS\Include\core_cm23.h;Drivers\CMSIS\Include\core_cm3.h;Drivers\CMSIS\Include\core_cm33.h;Drivers\CMSIS\Include\core_cm35p.h;Drivers\CMSIS\Include\core_cm4.h;Drivers\CMSIS\Include\core_cm55.h;Drivers\CMSIS\Include\core_cm7.h;Drivers\CMSIS\Include\core_cm85.h;Drivers\CMSIS\Include\core_sc000.h;Drivers\CMSIS\Include\core_sc300.h;Drivers\CMSIS\Include\core_starmc1.h;Drivers\CMSIS\Include\mpu_armv7.h;Drivers\CMSIS\Include\mpu_armv8.h;Drivers\CMSIS\Include\pac_armv81.h;Drivers\CMSIS\Include\pmu_armv8.h;Drivers\CMSIS\Include\tz_context.h;
[PreviousUsedCubeIDEFiles]
SourceFiles=Core\Src\main.c;Core\Src\stm32h5xx_it.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_gpio.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_rcc.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_dma.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_spi.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_icache.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_pwr.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_tim.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_usart.c;Drivers\CMSIS\Device\ST\STM32H5xx\Source\Templates\system_stm32h5xx.c;Core\Src\system_stm32h5xx.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_gpio.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_rcc.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_dma.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_spi.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_icache.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_pwr.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_tim.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_usart.c;Drivers\CMSIS\Device\ST\STM32H5xx\Source\Templates\system_stm32h5xx.c;Core\Src\system_stm32h5xx.c;;;
SourceFiles=Core\Src\main.c;Core\Src\stm32h5xx_it.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_gpio.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_rcc.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_dma.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_i2c.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_spi.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_icache.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_pwr.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_tim.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_usart.c;Drivers\CMSIS\Device\ST\STM32H5xx\Source\Templates\system_stm32h5xx.c;Core\Src\system_stm32h5xx.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_utils.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_exti.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_gpio.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_rcc.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_dma.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_i2c.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_spi.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_icache.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_pwr.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_tim.c;Drivers\STM32H5xx_HAL_Driver\Src\stm32h5xx_ll_usart.c;Drivers\CMSIS\Device\ST\STM32H5xx\Source\Templates\system_stm32h5xx.c;Core\Src\system_stm32h5xx.c;;;
HeaderPath=Drivers\STM32H5xx_HAL_Driver\Inc;Drivers\CMSIS\Device\ST\STM32H5xx\Include;Drivers\CMSIS\Include;Core\Inc;
CDefines=USE_FULL_LL_DRIVER;HSE_VALUE:16000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;EXTERNAL_CLOCK_VALUE:12288000;HSI_VALUE:64000000;LSI_VALUE:32000;VDD_VALUE:3300;STM32H533xx;USE_FULL_LL_DRIVER;HSE_VALUE:16000000;HSE_STARTUP_TIMEOUT:100;LSE_STARTUP_TIMEOUT:5000;LSE_VALUE:32768;EXTERNAL_CLOCK_VALUE:12288000;HSI_VALUE:64000000;LSI_VALUE:32000;VDD_VALUE:3300;

@ -28,6 +28,8 @@ extern "C" {
/* Includes ------------------------------------------------------------------*/
#include "stm32h5xx_ll_dma.h"
#include "stm32h5xx.h"
#include "stm32h5xx_ll_i2c.h"
#include "stm32h5xx_ll_spi.h"
#include "stm32h5xx_ll_rcc.h"
#include "stm32h5xx_ll_icache.h"

@ -75,6 +75,7 @@ static void MX_USART3_UART_Init(void);
static void MX_UART5_Init(void);
static void MX_USART2_UART_Init(void);
static void MX_I2S2_Init(void);
static void MX_I2C1_Init(void);
/* USER CODE BEGIN PFP */
@ -182,6 +183,7 @@ int main(void)
MX_UART5_Init();
MX_USART2_UART_Init();
MX_I2S2_Init();
MX_I2C1_Init();
/* USER CODE BEGIN 2 */
init_printf(NULL, &uart_putc);
@ -335,8 +337,9 @@ void PeriphCommonClock_Config(void)
LL_RCC_PLL3_SetN(8);
LL_RCC_PLL3_SetP(2);
LL_RCC_PLL3_SetQ(4);
LL_RCC_PLL3_SetR(2);
LL_RCC_PLL3_SetR(4);
LL_RCC_PLL3Q_Enable();
LL_RCC_PLL3R_Enable();
LL_RCC_PLL3_Enable();
/* Wait till PLL is ready */
@ -394,6 +397,69 @@ static void MX_GPDMA2_Init(void)
}
/**
* @brief I2C1 Initialization Function
* @param None
* @retval None
*/
static void MX_I2C1_Init(void)
{
/* USER CODE BEGIN I2C1_Init 0 */
/* USER CODE END I2C1_Init 0 */
LL_I2C_InitTypeDef I2C_InitStruct = {0};
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
LL_RCC_SetI2CClockSource(LL_RCC_I2C1_CLKSOURCE_PLL3R);
LL_AHB2_GRP1_EnableClock(LL_AHB2_GRP1_PERIPH_GPIOB);
/**I2C1 GPIO Configuration
PB6 ------> I2C1_SCL
PB7 ------> I2C1_SDA
*/
GPIO_InitStruct.Pin = LL_GPIO_PIN_6|LL_GPIO_PIN_7;
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(GPIOB, &GPIO_InitStruct);
/* Peripheral clock enable */
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_I2C1);
/* USER CODE BEGIN I2C1_Init 1 */
/* USER CODE END I2C1_Init 1 */
/** I2C Initialization
*/
LL_I2C_EnableAutoEndMode(I2C1);
LL_I2C_DisableOwnAddress2(I2C1);
LL_I2C_DisableGeneralCall(I2C1);
LL_I2C_EnableClockStretching(I2C1);
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(I2C1, &I2C_InitStruct);
LL_I2C_SetOwnAddress2(I2C1, 0, LL_I2C_OWNADDRESS2_NOMASK);
/** I2C Fast mode Plus enable
*/
LL_I2C_EnableFastModePlus(I2C1);
/* USER CODE BEGIN I2C1_Init 2 */
/* USER CODE END I2C1_Init 2 */
}
/**
* @brief I2S2 Initialization Function
* @param None

@ -43,6 +43,8 @@ GPDMA2.SRCDATAWIDTH_GPDMACH0=DMA_SRC_DATAWIDTH_WORD
GPDMA2.SRCINC_GPDMACH0=DMA_SINC_INCREMENTED
GPDMA2.TRANSFERALLOCATEDPORTSRC_GPDMACH0=DMA_SRC_ALLOCATED_PORT1
GPIO.groupedBy=Group By Peripherals
I2C1.IPParameters=Timing
I2C1.Timing=0x00707CBB
I2S2.AudioFreq=AudioFreqCustomValue
I2S2.AudioFreqCustom=32000
I2S2.DataFormat=I2S_DATAFORMAT_32B
@ -88,22 +90,23 @@ Mcu.ContextProject=TrustZoneDisabled
Mcu.Family=STM32H5
Mcu.IP0=BOOTPATH
Mcu.IP1=CORTEX_M33_NS
Mcu.IP10=RCC
Mcu.IP11=SYS
Mcu.IP12=TIM2
Mcu.IP13=TIM5
Mcu.IP14=UART5
Mcu.IP15=USART2
Mcu.IP16=USART3
Mcu.IP10=PWR
Mcu.IP11=RCC
Mcu.IP12=SYS
Mcu.IP13=TIM2
Mcu.IP14=TIM5
Mcu.IP15=UART5
Mcu.IP16=USART2
Mcu.IP17=USART3
Mcu.IP2=DEBUG
Mcu.IP3=GPDMA1
Mcu.IP4=GPDMA2
Mcu.IP5=I2S2
Mcu.IP6=ICACHE
Mcu.IP7=MEMORYMAP
Mcu.IP8=NVIC
Mcu.IP9=PWR
Mcu.IPNb=17
Mcu.IP5=I2C1
Mcu.IP6=I2S2
Mcu.IP7=ICACHE
Mcu.IP8=MEMORYMAP
Mcu.IP9=NVIC
Mcu.IPNb=18
Mcu.Name=STM32H533RETx
Mcu.Package=LQFP64
Mcu.Pin0=PC14-OSC32_IN(OSC32_IN)
@ -117,30 +120,32 @@ Mcu.Pin15=PA14(JTCK/SWCLK)
Mcu.Pin16=PC11
Mcu.Pin17=PC12
Mcu.Pin18=PD2
Mcu.Pin19=PB8
Mcu.Pin19=PB6
Mcu.Pin2=PH0-OSC_IN(PH0)
Mcu.Pin20=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin21=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin22=VP_GPDMA1_VS_GPDMACH1
Mcu.Pin23=VP_GPDMA1_VS_GPDMACH2
Mcu.Pin24=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin25=VP_GPDMA2_VS_GPDMACH0
Mcu.Pin26=VP_ICACHE_VS_ICACHE
Mcu.Pin27=VP_PWR_VS_SECSignals
Mcu.Pin28=VP_PWR_VS_LPOM
Mcu.Pin29=VP_SYS_VS_Systick
Mcu.Pin20=PB7
Mcu.Pin21=PB8
Mcu.Pin22=VP_CORTEX_M33_NS_VS_Hclk
Mcu.Pin23=VP_GPDMA1_VS_GPDMACH0
Mcu.Pin24=VP_GPDMA1_VS_GPDMACH1
Mcu.Pin25=VP_GPDMA1_VS_GPDMACH2
Mcu.Pin26=VP_GPDMA1_VS_GPDMACH3
Mcu.Pin27=VP_GPDMA2_VS_GPDMACH0
Mcu.Pin28=VP_ICACHE_VS_ICACHE
Mcu.Pin29=VP_PWR_VS_SECSignals
Mcu.Pin3=PH1-OSC_OUT(PH1)
Mcu.Pin30=VP_TIM2_VS_ClockSourceINT
Mcu.Pin31=VP_TIM5_VS_ClockSourceINT
Mcu.Pin32=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin33=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.Pin30=VP_PWR_VS_LPOM
Mcu.Pin31=VP_SYS_VS_Systick
Mcu.Pin32=VP_TIM2_VS_ClockSourceINT
Mcu.Pin33=VP_TIM5_VS_ClockSourceINT
Mcu.Pin34=VP_BOOTPATH_VS_BOOTPATH
Mcu.Pin35=VP_MEMORYMAP_VS_MEMORYMAP
Mcu.Pin4=PC2
Mcu.Pin5=PA1
Mcu.Pin6=PA2
Mcu.Pin7=PA3
Mcu.Pin8=PB1
Mcu.Pin9=PB10
Mcu.PinsNb=34
Mcu.PinsNb=36
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32H533RETx
@ -170,48 +175,67 @@ PA2.GPIOParameters=GPIO_Speed
PA2.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA2.Mode=Asynchronous
PA2.Signal=USART2_TX
PA3.GPIOParameters=GPIO_Speed
PA3.GPIOParameters=GPIO_Speed,PinAttribute
PA3.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PA3.Mode=Asynchronous
PA3.PinAttribute=Free
PA3.Signal=USART2_RX
PB1.GPIOParameters=GPIO_Speed
PB1.GPIOParameters=GPIO_Speed,PinAttribute
PB1.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB1.Locked=true
PB1.Mode=Asynchronous
PB1.PinAttribute=Free
PB1.Signal=USART3_RX
PB10.GPIOParameters=GPIO_Speed
PB10.GPIOParameters=GPIO_Speed,PinAttribute
PB10.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB10.Mode=Asynchronous
PB10.PinAttribute=Free
PB10.Signal=USART3_TX
PB12.GPIOParameters=GPIO_Speed
PB12.GPIOParameters=GPIO_Speed,PinAttribute
PB12.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB12.Mode=Full_Duplex_Master
PB12.PinAttribute=Free
PB12.Signal=I2S2_WS
PB13.GPIOParameters=GPIO_Speed
PB13.GPIOParameters=GPIO_Speed,PinAttribute
PB13.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB13.Locked=true
PB13.Mode=Full_Duplex_Master
PB13.PinAttribute=Free
PB13.Signal=I2S2_CK
PB14.GPIOParameters=GPIO_Speed
PB14.GPIOParameters=GPIO_Speed,PinAttribute
PB14.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
PB14.Mode=Hardware Flow Control (RS485)
PB14.PinAttribute=Free
PB14.Signal=USART3_DE
PB15.GPIOParameters=GPIO_Speed
PB15.GPIOParameters=GPIO_Speed,PinAttribute
PB15.GPIO_Speed=GPIO_SPEED_FREQ_MEDIUM
PB15.Locked=true
PB15.Mode=Full_Duplex_Master
PB15.PinAttribute=Free
PB15.Signal=I2S2_SDO
PB8.GPIOParameters=GPIO_Label
PB6.GPIOParameters=PinAttribute
PB6.Mode=I2C
PB6.PinAttribute=Free
PB6.Signal=I2C1_SCL
PB7.GPIOParameters=PinAttribute
PB7.Mode=I2C
PB7.PinAttribute=Free
PB7.Signal=I2C1_SDA
PB8.GPIOParameters=GPIO_Label,PinAttribute
PB8.GPIO_Label=SHR_DOUT_DISP
PB8.Locked=true
PB8.PinAttribute=Free
PB8.Signal=GPIO_Output
PC11.GPIOParameters=PinState,GPIO_Label
PC11.GPIOParameters=PinState,GPIO_Label,PinAttribute
PC11.GPIO_Label=LD2
PC11.Locked=true
PC11.PinAttribute=Free
PC11.PinState=GPIO_PIN_SET
PC11.Signal=GPIO_Output
PC12.GPIOParameters=PinAttribute
PC12.Locked=true
PC12.Mode=Asynchronous
PC12.PinAttribute=Free
PC12.Signal=UART5_TX
PC14-OSC32_IN(OSC32_IN).GPIOParameters=GPIO_Label,PinAttribute
PC14-OSC32_IN(OSC32_IN).GPIO_Label=SHR_CLK
@ -234,8 +258,10 @@ PCC.PartNumber=STM32H533RETx
PCC.Series=STM32H5
PCC.Temperature=25
PCC.Vdd=3.0
PD2.GPIOParameters=PinAttribute
PD2.Locked=true
PD2.Mode=Asynchronous
PD2.PinAttribute=Free
PD2.Signal=UART5_RX
PH0-OSC_IN(PH0).Mode=HSE-External-Oscillator
PH0-OSC_IN(PH0).Signal=RCC_OSC_IN
@ -274,7 +300,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,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,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
@ -296,12 +322,13 @@ RCC.HCLKFreq_Value=80000000
RCC.HSE_VALUE=16000000
RCC.HSI48_VALUE=48000000
RCC.HSI_VALUE=64000000
RCC.I2C1Freq_Value=80000000
RCC.I2C1CLockSelection=RCC_I2C1CLKSOURCE_PLL3R
RCC.I2C1Freq_Value=32000000
RCC.I2C2Freq_Value=80000000
RCC.I2C3Freq_Value=80000000
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,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,PLL3RoutputFreq_Value,PLL3Source,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SDMMC1Freq_Value,SPI1Freq_Value,SPI2CLockSelection,SPI2Freq_Value,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,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,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
@ -325,7 +352,8 @@ RCC.PLL3N=8
RCC.PLL3PoutputFreq_Value=64000000
RCC.PLL3Q=4
RCC.PLL3QoutputFreq_Value=32000000
RCC.PLL3RoutputFreq_Value=64000000
RCC.PLL3R=4
RCC.PLL3RoutputFreq_Value=32000000
RCC.PLL3Source=RCC_PLL3_SOURCE_HSE
RCC.PLLN=20
RCC.PLLPoutputFreq_Value=80000000

File diff suppressed because it is too large Load Diff

@ -0,0 +1,244 @@
/**
******************************************************************************
* @file stm32h5xx_ll_i2c.c
* @author MCD Application Team
* @brief I2C LL module driver.
******************************************************************************
* @attention
*
* Copyright (c) 2023 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
#if defined(USE_FULL_LL_DRIVER)
/* Includes ------------------------------------------------------------------*/
#include "stm32h5xx_ll_i2c.h"
#include "stm32h5xx_ll_bus.h"
#ifdef USE_FULL_ASSERT
#include "stm32_assert.h"
#else
#define assert_param(expr) ((void)0U)
#endif /* USE_FULL_ASSERT */
/** @addtogroup STM32H5xx_LL_Driver
* @{
*/
#if defined (I2C1) || defined (I2C2) || defined (I2C3) || defined (I2C4)
/** @defgroup I2C_LL I2C
* @{
*/
/* Private types -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private constants ---------------------------------------------------------*/
/* Private macros ------------------------------------------------------------*/
/** @addtogroup I2C_LL_Private_Macros
* @{
*/
#define IS_LL_I2C_PERIPHERAL_MODE(__VALUE__) (((__VALUE__) == LL_I2C_MODE_I2C) || \
((__VALUE__) == LL_I2C_MODE_SMBUS_HOST) || \
((__VALUE__) == LL_I2C_MODE_SMBUS_DEVICE) || \
((__VALUE__) == LL_I2C_MODE_SMBUS_DEVICE_ARP))
#define IS_LL_I2C_ANALOG_FILTER(__VALUE__) (((__VALUE__) == LL_I2C_ANALOGFILTER_ENABLE) || \
((__VALUE__) == LL_I2C_ANALOGFILTER_DISABLE))
#define IS_LL_I2C_DIGITAL_FILTER(__VALUE__) ((__VALUE__) <= 0x0000000FU)
#define IS_LL_I2C_OWN_ADDRESS1(__VALUE__) ((__VALUE__) <= 0x000003FFU)
#define IS_LL_I2C_TYPE_ACKNOWLEDGE(__VALUE__) (((__VALUE__) == LL_I2C_ACK) || \
((__VALUE__) == LL_I2C_NACK))
#define IS_LL_I2C_OWN_ADDRSIZE(__VALUE__) (((__VALUE__) == LL_I2C_OWNADDRESS1_7BIT) || \
((__VALUE__) == LL_I2C_OWNADDRESS1_10BIT))
/**
* @}
*/
/* Private function prototypes -----------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
/** @addtogroup I2C_LL_Exported_Functions
* @{
*/
/** @addtogroup I2C_LL_EF_Init
* @{
*/
/**
* @brief De-initialize the I2C registers to their default reset values.
* @param I2Cx I2C Instance.
* @retval An ErrorStatus enumeration value:
* - SUCCESS: I2C registers are de-initialized
* - ERROR: I2C registers are not de-initialized
*/
ErrorStatus LL_I2C_DeInit(const I2C_TypeDef *I2Cx)
{
ErrorStatus status = SUCCESS;
/* Check the I2C Instance I2Cx */
assert_param(IS_I2C_ALL_INSTANCE(I2Cx));
if (I2Cx == I2C1)
{
/* Force reset of I2C clock */
LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_I2C1);
/* Release reset of I2C clock */
LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_I2C1);
}
else if (I2Cx == I2C2)
{
/* Force reset of I2C clock */
LL_APB1_GRP1_ForceReset(LL_APB1_GRP1_PERIPH_I2C2);
/* Release reset of I2C clock */
LL_APB1_GRP1_ReleaseReset(LL_APB1_GRP1_PERIPH_I2C2);
}
#if defined(I2C3)
else if (I2Cx == I2C3)
{
/* Force reset of I2C clock */
LL_APB3_GRP1_ForceReset(LL_APB3_GRP1_PERIPH_I2C3);
/* Release reset of I2C clock */
LL_APB3_GRP1_ReleaseReset(LL_APB3_GRP1_PERIPH_I2C3);
}
#endif /* I2C3 */
#if defined(I2C4)
else if (I2Cx == I2C4)
{
/* Force reset of I2C clock */
LL_APB3_GRP1_ForceReset(LL_APB3_GRP1_PERIPH_I2C4);
/* Release reset of I2C clock */
LL_APB3_GRP1_ReleaseReset(LL_APB3_GRP1_PERIPH_I2C4);
}
#endif /* I2C4 */
else
{
status = ERROR;
}
return status;
}
/**
* @brief Initialize the I2C registers according to the specified parameters in I2C_InitStruct.
* @param I2Cx I2C Instance.
* @param I2C_InitStruct pointer to a @ref LL_I2C_InitTypeDef structure.
* @retval An ErrorStatus enumeration value:
* - SUCCESS: I2C registers are initialized
* - ERROR: Not applicable
*/
ErrorStatus LL_I2C_Init(I2C_TypeDef *I2Cx, const LL_I2C_InitTypeDef *I2C_InitStruct)
{
/* Check the I2C Instance I2Cx */
assert_param(IS_I2C_ALL_INSTANCE(I2Cx));
/* Check the I2C parameters from I2C_InitStruct */
assert_param(IS_LL_I2C_PERIPHERAL_MODE(I2C_InitStruct->PeripheralMode));
assert_param(IS_LL_I2C_ANALOG_FILTER(I2C_InitStruct->AnalogFilter));
assert_param(IS_LL_I2C_DIGITAL_FILTER(I2C_InitStruct->DigitalFilter));
assert_param(IS_LL_I2C_OWN_ADDRESS1(I2C_InitStruct->OwnAddress1));
assert_param(IS_LL_I2C_TYPE_ACKNOWLEDGE(I2C_InitStruct->TypeAcknowledge));
assert_param(IS_LL_I2C_OWN_ADDRSIZE(I2C_InitStruct->OwnAddrSize));
/* Disable the selected I2Cx Peripheral */
LL_I2C_Disable(I2Cx);
/*---------------------------- I2Cx CR1 Configuration ------------------------
* Configure the analog and digital noise filters with parameters :
* - AnalogFilter: I2C_CR1_ANFOFF bit
* - DigitalFilter: I2C_CR1_DNF[3:0] bits
*/
LL_I2C_ConfigFilters(I2Cx, I2C_InitStruct->AnalogFilter, I2C_InitStruct->DigitalFilter);
/*---------------------------- I2Cx TIMINGR Configuration --------------------
* Configure the SDA setup, hold time and the SCL high, low period with parameter :
* - Timing: I2C_TIMINGR_PRESC[3:0], I2C_TIMINGR_SCLDEL[3:0], I2C_TIMINGR_SDADEL[3:0],
* I2C_TIMINGR_SCLH[7:0] and I2C_TIMINGR_SCLL[7:0] bits
*/
LL_I2C_SetTiming(I2Cx, I2C_InitStruct->Timing);
/* Enable the selected I2Cx Peripheral */
LL_I2C_Enable(I2Cx);
/*---------------------------- I2Cx OAR1 Configuration -----------------------
* Disable, Configure and Enable I2Cx device own address 1 with parameters :
* - OwnAddress1: I2C_OAR1_OA1[9:0] bits
* - OwnAddrSize: I2C_OAR1_OA1MODE bit
*/
LL_I2C_DisableOwnAddress1(I2Cx);
LL_I2C_SetOwnAddress1(I2Cx, I2C_InitStruct->OwnAddress1, I2C_InitStruct->OwnAddrSize);
/* OwnAdress1 == 0 is reserved for General Call address */
if (I2C_InitStruct->OwnAddress1 != 0U)
{
LL_I2C_EnableOwnAddress1(I2Cx);
}
/*---------------------------- I2Cx MODE Configuration -----------------------
* Configure I2Cx peripheral mode with parameter :
* - PeripheralMode: I2C_CR1_SMBDEN and I2C_CR1_SMBHEN bits
*/
LL_I2C_SetMode(I2Cx, I2C_InitStruct->PeripheralMode);
/*---------------------------- I2Cx CR2 Configuration ------------------------
* Configure the ACKnowledge or Non ACKnowledge condition
* after the address receive match code or next received byte with parameter :
* - TypeAcknowledge: I2C_CR2_NACK bit
*/
LL_I2C_AcknowledgeNextData(I2Cx, I2C_InitStruct->TypeAcknowledge);
return SUCCESS;
}
/**
* @brief Set each @ref LL_I2C_InitTypeDef field to default value.
* @param I2C_InitStruct Pointer to a @ref LL_I2C_InitTypeDef structure.
* @retval None
*/
void LL_I2C_StructInit(LL_I2C_InitTypeDef *I2C_InitStruct)
{
/* Set I2C_InitStruct fields to default values */
I2C_InitStruct->PeripheralMode = LL_I2C_MODE_I2C;
I2C_InitStruct->Timing = 0U;
I2C_InitStruct->AnalogFilter = LL_I2C_ANALOGFILTER_ENABLE;
I2C_InitStruct->DigitalFilter = 0U;
I2C_InitStruct->OwnAddress1 = 0U;
I2C_InitStruct->TypeAcknowledge = LL_I2C_NACK;
I2C_InitStruct->OwnAddrSize = LL_I2C_OWNADDRESS1_7BIT;
}
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#endif /* I2C1 || I2C2 || I2C3 || I2C4 */
/**
* @}
*/
#endif /* USE_FULL_LL_DRIVER */
Loading…
Cancel
Save