|
STM32G474xx HAL用户手册
|
I2C HAL模块驱动程序。本文件提供固件函数来管理集成电路(I2C)外设的以下功能:+初始化和去初始化函数+IO操作函数+外设状态和错误函数。 更多...
#include "stm32g4xx_hal.h"宏定义 | |
| #define | TIMING_CLEAR_MASK (0xF0FFFFFFU) |
| #define | I2C_TIMEOUT_ADDR (10000U) |
| #define | I2C_TIMEOUT_BUSY (25U) |
| #define | I2C_TIMEOUT_DIR (25U) |
| #define | I2C_TIMEOUT_RXNE (25U) |
| #define | I2C_TIMEOUT_STOPF (25U) |
| #define | I2C_TIMEOUT_TC (25U) |
| #define | I2C_TIMEOUT_TCR (25U) |
| #define | I2C_TIMEOUT_TXIS (25U) |
| #define | I2C_TIMEOUT_FLAG (25U) |
| #define | MAX_NBYTE_SIZE 255U |
| #define | SLAVE_ADDR_SHIFT 7U |
| #define | SLAVE_ADDR_MSK 0x06U |
| #define | I2C_STATE_MSK |
| #define | I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE)) |
| #define | I2C_STATE_MASTER_BUSY_TX |
| #define | I2C_STATE_MASTER_BUSY_RX |
| #define | I2C_STATE_SLAVE_BUSY_TX |
| #define | I2C_STATE_SLAVE_BUSY_RX |
| #define | I2C_STATE_MEM_BUSY_TX |
| #define | I2C_STATE_MEM_BUSY_RX |
| #define | I2C_XFER_TX_IT (uint16_t)(0x0001U) |
| #define | I2C_XFER_RX_IT (uint16_t)(0x0002U) |
| #define | I2C_XFER_LISTEN_IT (uint16_t)(0x8000U) |
| #define | I2C_XFER_ERROR_IT (uint16_t)(0x0010U) |
| #define | I2C_XFER_CPLT_IT (uint16_t)(0x0020U) |
| #define | I2C_XFER_RELOAD_IT (uint16_t)(0x0040U) |
| #define | I2C_NO_OPTION_FRAME (0xFFFF0000U) |
| #define | I2C_GET_DMA_REMAIN_DATA(__HANDLE__) __HAL_DMA_GET_COUNTER(__HANDLE__) |
函数 | |
| static void | I2C_DMAMasterTransmitCplt (DMA_HandleTypeDef *hdma) |
| DMA I2C主机发送过程完成回调。 | |
| static void | I2C_DMAMasterReceiveCplt (DMA_HandleTypeDef *hdma) |
| DMA I2C主机接收过程完成回调。 | |
| static void | I2C_DMASlaveTransmitCplt (DMA_HandleTypeDef *hdma) |
| DMA I2C从机发送过程完成回调。 | |
| static void | I2C_DMASlaveReceiveCplt (DMA_HandleTypeDef *hdma) |
| DMA I2C从机接收过程完成回调。 | |
| static void | I2C_DMAError (DMA_HandleTypeDef *hdma) |
| DMA I2C通信错误回调。 | |
| static void | I2C_DMAAbort (DMA_HandleTypeDef *hdma) |
| DMA I2C通信中止回调(在DMA中止程序结束时调用)。 | |
| static void | I2C_ITAddrCplt (I2C_HandleTypeDef *hi2c, uint32_t ITFlags) |
| I2C地址完成过程回调。 | |
| static void | I2C_ITMasterSeqCplt (I2C_HandleTypeDef *hi2c) |
| I2C主机顺序完成过程。 | |
| static void | I2C_ITSlaveSeqCplt (I2C_HandleTypeDef *hi2c) |
| I2C从机顺序完成过程。 | |
| static void | I2C_ITMasterCplt (I2C_HandleTypeDef *hi2c, uint32_t ITFlags) |
| I2C主机完成过程。 | |
| static void | I2C_ITSlaveCplt (I2C_HandleTypeDef *hi2c, uint32_t ITFlags) |
| I2C从机完成过程。 | |
| static void | I2C_ITListenCplt (I2C_HandleTypeDef *hi2c, uint32_t ITFlags) |
| I2C监听完成过程。 | |
| static void | I2C_ITError (I2C_HandleTypeDef *hi2c, uint32_t ErrorCode) |
| I2C中断错误处理。 | |
| static HAL_StatusTypeDef | I2C_RequestMemoryWrite (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart) |
| 主机发送目标设备地址后跟写入请求的内部存储器地址。 | |
| static HAL_StatusTypeDef | I2C_RequestMemoryRead (I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint32_t Timeout, uint32_t Tickstart) |
| 主机发送目标设备地址后跟读取请求的内部存储器地址。 | |
| static HAL_StatusTypeDef | I2C_Master_ISR_IT (struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) |
| 中断子程序,用于在中断模式下处理主机模式的中断标志。 | |
| static HAL_StatusTypeDef | I2C_Mem_ISR_IT (struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) |
| 中断子程序,用于在中断模式下处理存储器模式的中断标志。 | |
| static HAL_StatusTypeDef | I2C_Slave_ISR_IT (struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint32_t ITSources) |
| 中断子程序,用于在中断模式下处理从机模式的中断标志。 | |