|
STM32G474xx HAL用户手册
|
数据传输函数。 更多...
模块 | |
| 阻塞模式轮询 | |
| 非阻塞模式中断 | |
| IRQ处理程序和回调函数 | |
| 外设状态和错误函数 | |
外设状态和错误函数。 | |
函数 | |
| HAL_StatusTypeDef | HAL_SMBUS_Master_Transmit_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) |
| 在主/主机SMBUS模式下以中断非阻塞模式传输数据。 | |
| HAL_StatusTypeDef | HAL_SMBUS_Master_Receive_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions) |
| 在主/主机SMBUS模式下以中断非阻塞模式接收数据。 | |
| HAL_StatusTypeDef | HAL_SMBUS_Master_Abort_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress) |
| 中止主/主机SMBUS进程通信(使用中断)。 | |
| HAL_StatusTypeDef | HAL_SMBUS_Slave_Transmit_IT (SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions) |
| 在从/设备SMBUS模式下以中断非阻塞模式传输数据。 | |
| HAL_StatusTypeDef | HAL_SMBUS_Slave_Receive_IT (SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions) |
| 在从/设备SMBUS模式下以中断非阻塞模式接收数据。 | |
| HAL_StatusTypeDef | HAL_SMBUS_EnableListen_IT (SMBUS_HandleTypeDef *hsmbus) |
| 使能地址监听模式(使用中断)。 | |
| HAL_StatusTypeDef | HAL_SMBUS_DisableListen_IT (SMBUS_HandleTypeDef *hsmbus) |
| 禁用地址监听模式(使用中断)。 | |
| HAL_StatusTypeDef | HAL_SMBUS_EnableAlert_IT (SMBUS_HandleTypeDef *hsmbus) |
| 使能SMBUS警报模式(使用中断)。 | |
| HAL_StatusTypeDef | HAL_SMBUS_DisableAlert_IT (SMBUS_HandleTypeDef *hsmbus) |
| 禁用SMBUS警报模式(使用中断)。 | |
| HAL_StatusTypeDef | HAL_SMBUS_IsDeviceReady (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout) |
| 检查目标设备是否准备好进行通信。 | |
数据传输函数。
===============================================================================
##### IO操作函数 #####
===============================================================================
[..]
本节提供了一组用于管理SMBUS数据传输的函数。
(#) 用于检查设备是否准备好使用的阻塞模式函数为:
(++) HAL_SMBUS_IsDeviceReady()
(#) 传输模式只有一种:
(++) 非阻塞模式:通信使用中断执行。
这些函数返回传输启动的状态。
使用中断模式时,数据处理完成将通过
专用的SMBUS IRQ指示。
(#) 使用中断的非阻塞模式函数包括:
(++) HAL_SMBUS_Master_Transmit_IT()
(++) HAL_SMBUS_Master_Receive_IT()
(++) HAL_SMBUS_Slave_Transmit_IT()
(++) HAL_SMBUS_Slave_Receive_IT()
(++) HAL_SMBUS_EnableListen_IT()或别名HAL_SMBUS_EnableListen_IT()
(++) HAL_SMBUS_DisableListen_IT()
(++) HAL_SMBUS_EnableAlert_IT()
(++) HAL_SMBUS_DisableAlert_IT()
(#) 非阻塞模式下提供了一组传输完成回调函数:
(++) HAL_SMBUS_MasterTxCpltCallback()
(++) HAL_SMBUS_MasterRxCpltCallback()
(++) HAL_SMBUS_SlaveTxCpltCallback()
(++) HAL_SMBUS_SlaveRxCpltCallback()
(++) HAL_SMBUS_AddrCallback()
(++) HAL_SMBUS_ListenCpltCallback()
(++) HAL_SMBUS_ErrorCallback()
| HAL_StatusTypeDef HAL_SMBUS_DisableAlert_IT | ( | SMBUS_HandleTypeDef * | hsmbus | ) |
禁用SMBUS警报模式(使用中断)。
| hsmbus | 指向SMBUS_HandleTypeDef结构的指针,该结构包含指定SMBUSx外设的配置信息。 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_smbus.c 的 1462 行。
引用了 __SMBUS_HandleTypeDef::Instance, SMBUS_Disable_IRQ(), 和 SMBUS_IT_ALERT。
| HAL_StatusTypeDef HAL_SMBUS_DisableListen_IT | ( | SMBUS_HandleTypeDef * | hsmbus | ) |
禁用地址监听模式(使用中断)。
| hsmbus | 指向SMBUS_HandleTypeDef结构的指针,该结构包含指定SMBUS的配置信息。 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_smbus.c 的 1419 行。
引用了 HAL_SMBUS_STATE_LISTEN, HAL_SMBUS_STATE_READY, SMBUS_Disable_IRQ(), SMBUS_IT_ADDR, 和 __SMBUS_HandleTypeDef::State。
| HAL_StatusTypeDef HAL_SMBUS_EnableAlert_IT | ( | SMBUS_HandleTypeDef * | hsmbus | ) |
使能SMBUS警报模式(使用中断)。
| hsmbus | 指向SMBUS_HandleTypeDef结构的指针,该结构包含指定SMBUSx外设的配置信息。 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_smbus.c 的 1443 行。
引用了 __HAL_SMBUS_CLEAR_FLAG, __SMBUS_HandleTypeDef::Instance, SMBUS_Enable_IRQ(), SMBUS_FLAG_ALERT, 和 SMBUS_IT_ALERT。
| HAL_StatusTypeDef HAL_SMBUS_EnableListen_IT | ( | SMBUS_HandleTypeDef * | hsmbus | ) |
使能地址监听模式(使用中断)。
| hsmbus | 指向SMBUS_HandleTypeDef结构的指针,该结构包含指定SMBUS的配置信息。 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_smbus.c 的 1403 行。
引用了 HAL_SMBUS_STATE_LISTEN, SMBUS_Enable_IRQ(), SMBUS_IT_ADDR, 和 __SMBUS_HandleTypeDef::State。
| HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady | ( | SMBUS_HandleTypeDef * | hsmbus, |
| uint16_t | DevAddress, | ||
| uint32_t | Trials, | ||
| uint32_t | Timeout | ||
| ) |
检查目标设备是否准备好进行通信。
| hsmbus | 指向SMBUS_HandleTypeDef结构的指针,该结构包含指定SMBUS的配置信息。 |
| DevAddress | 目标设备地址:数据手册中的设备7位地址值在调用接口前必须左移 |
| Trials | 尝试次数 |
| Timeout | 超时时间 |
| HAL | 状态 |
定义于文件 stm32g4xx_hal_smbus.c 的 1483 行。
引用了 __HAL_SMBUS_CLEAR_FLAG, __HAL_SMBUS_GET_FLAG, SMBUS_InitTypeDef::AddressingMode, __SMBUS_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SMBUS_ERROR_HALTIMEOUT, HAL_SMBUS_ERROR_NONE, HAL_SMBUS_STATE_BUSY, HAL_SMBUS_STATE_READY, __SMBUS_HandleTypeDef::Init, __SMBUS_HandleTypeDef::Instance, SMBUS_FLAG_AF, SMBUS_FLAG_BUSY, SMBUS_FLAG_STOPF, SMBUS_GENERATE_START, SMBUS_WaitOnFlagUntilTimeout(), 和 __SMBUS_HandleTypeDef::State。