STM32G474xx HAL用户手册
模块 | 函数
输入输出操作函数
SMBUS导出函数

数据传输函数。 更多...

模块

 阻塞模式轮询
 非阻塞模式中断
 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.c1462 行。

引用了 __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.c1419 行。

引用了 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.c1443 行。

引用了 __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.c1403 行。

引用了 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.c1483 行。

引用了 __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