This file provides a set of firmware functions to communicate with external devices available on STM32H747I-DISCO board (MB1248) from STMicroelectronics. More...

Go to the source code of this file.
Classes | |
| struct | I2C_Charac_t |
| struct | I2C_Timings_t |
Macros | |
| #define | I2C_ANALOG_FILTER_DELAY_MAX 260U /* ns */ |
| #define | I2C_ANALOG_FILTER_DELAY_MIN 50U /* ns */ |
| #define | I2C_DIGITAL_FILTER_COEF 0U |
| #define | I2C_PRESC_MAX 16U |
| #define | I2C_SCLDEL_MAX 16U |
| #define | I2C_SCLH_MAX 256U |
| #define | I2C_SCLL_MAX 256U |
| #define | I2C_SDADEL_MAX 16U |
| #define | I2C_SPEED_FREQ_FAST 1U /* 400 kHz */ |
| #define | I2C_SPEED_FREQ_FAST_PLUS 2U /* 1 MHz */ |
| #define | I2C_SPEED_FREQ_STANDARD 0U /* 100 kHz */ |
| #define | I2C_USE_ANALOG_FILTER 1U |
| #define | I2C_VALID_TIMING_NBR 128U |
| #define | SEC2NSEC 1000000000UL |
Functions | |
| int32_t | BSP_GetTick (void) |
| Delay function. More... | |
| int32_t | BSP_I2C4_DeInit (void) |
| DeInitializes I2C HAL. More... | |
| int32_t | BSP_I2C4_Init (void) |
| Initializes I2C HAL. More... | |
| int32_t | BSP_I2C4_IsReady (uint16_t DevAddr, uint32_t Trials) |
| Checks if target device is ready for communication. More... | |
| int32_t | BSP_I2C4_ReadReg (uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) |
| Read a 8bit register of the device through BUS. More... | |
| int32_t | BSP_I2C4_ReadReg16 (uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) |
| Read a 16bit register of the device through BUS. More... | |
| int32_t | BSP_I2C4_WriteReg (uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) |
| Write a 8bit value in a register of the device through BUS. More... | |
| int32_t | BSP_I2C4_WriteReg16 (uint16_t DevAddr, uint16_t Reg, uint8_t *pData, uint16_t Length) |
| Write a 16bit value in a register of the device through BUS. More... | |
| static void | I2C4_MspDeInit (I2C_HandleTypeDef *phi2c) |
| DeInitializes I2C MSP. More... | |
| static void | I2C4_MspInit (I2C_HandleTypeDef *phi2c) |
| Initializes I2C MSP. More... | |
| static int32_t | I2C4_ReadReg (uint16_t DevAddr, uint16_t Reg, uint16_t MemAddSize, uint8_t *pData, uint16_t Length) |
| Read a register of the device through BUS. More... | |
| static int32_t | I2C4_WriteReg (uint16_t DevAddr, uint16_t Reg, uint16_t MemAddSize, uint8_t *pData, uint16_t Length) |
| Write a value in a register of the device through BUS. More... | |
| static void | I2C_Compute_PRESC_SCLDEL_SDADEL (uint32_t clock_src_freq, uint32_t I2C_speed) |
| Compute PRESC, SCLDEL and SDADEL. More... | |
| static uint32_t | I2C_Compute_SCLL_SCLH (uint32_t clock_src_freq, uint32_t I2C_speed) |
| Calculate SCLL and SCLH and find best configuration. More... | |
| static uint32_t | I2C_GetTiming (uint32_t clock_src_freq, uint32_t i2c_freq) |
| Compute I2C timing according current I2C clock source and required I2C clock. More... | |
| __weak HAL_StatusTypeDef | MX_I2C4_Init (I2C_HandleTypeDef *hI2c, uint32_t timing) |
| MX I2C4 initialization. More... | |
Variables | |
| I2C_HandleTypeDef | hbus_i2c4 |
| static uint32_t | I2c4InitCounter = 0 |
| static const I2C_Charac_t | I2C_Charac [] |
| static I2C_Timings_t | I2c_valid_timing [I2C_VALID_TIMING_NBR] |
| static uint32_t | I2c_valid_timing_nbr = 0 |
This file provides a set of firmware functions to communicate with external devices available on STM32H747I-DISCO board (MB1248) from STMicroelectronics.
This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause
Definition in file stm32h747i_discovery_bus.c.