STM32F479xx HAL User Manual
Modules | Functions
Input and Output operation functions
SMBUS Exported Functions

Data transfers functions. More...

Modules

 Blocking mode Polling
 Non-Blocking mode Interrupt
 IRQ Handler and Callbacks
 Peripheral State, Mode and Error functions
 

Peripheral State and Errors functions.


Functions

HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Transmits in master mode an amount of data in blocking mode.
HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Receive in master/host SMBUS mode an amount of data in non blocking mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_Master_Abort_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress)
 Abort a master/host SMBUS process communication with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_Slave_Transmit_IT (SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Transmit in slave/device SMBUS mode an amount of data in non blocking mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_Slave_Receive_IT (SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Enable the Address listen mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_EnableListen_IT (SMBUS_HandleTypeDef *hsmbus)
 Enable the Address listen mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_DisableListen_IT (SMBUS_HandleTypeDef *hsmbus)
 Disable the Address listen mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_EnableAlert_IT (SMBUS_HandleTypeDef *hsmbus)
 Enable the SMBUS alert mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_DisableAlert_IT (SMBUS_HandleTypeDef *hsmbus)
 Disable the SMBUS alert mode with Interrupt.
HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout)
 Check if target device is ready for communication.
void HAL_SMBUS_EV_IRQHandler (SMBUS_HandleTypeDef *hsmbus)
 This function handles SMBUS event interrupt request.
void HAL_SMBUS_ER_IRQHandler (SMBUS_HandleTypeDef *hsmbus)
 This function handles SMBUS error interrupt request.
__weak void HAL_SMBUS_MasterTxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
 Master Tx Transfer completed callback.
__weak void HAL_SMBUS_MasterRxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
 Master Rx Transfer completed callback.
__weak void HAL_SMBUS_SlaveTxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
 Slave Tx Transfer completed callback.
__weak void HAL_SMBUS_SlaveRxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
 Slave Rx Transfer completed callback.
__weak void HAL_SMBUS_AddrCallback (SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode)
 Slave Address Match callback.
__weak void HAL_SMBUS_ListenCpltCallback (SMBUS_HandleTypeDef *hsmbus)
 Listen Complete callback.
__weak void HAL_SMBUS_ErrorCallback (SMBUS_HandleTypeDef *hsmbus)
 SMBUS error callback.
__weak void HAL_SMBUS_AbortCpltCallback (SMBUS_HandleTypeDef *hsmbus)
 SMBUS abort callback.

Detailed Description

Data transfers functions.

 ===============================================================================
                      ##### IO operation functions #####
 ===============================================================================
    [..]
    This subsection provides a set of functions allowing to manage the SMBUS data
    transfers.

    (#) Blocking mode function to check if device is ready for usage is :
        (++) HAL_SMBUS_IsDeviceReady()

    (#) There is only one mode of transfer:
       (++) Non Blocking mode : The communication is performed using Interrupts.
            These functions return the status of the transfer startup.
            The end of the data processing will be indicated through the
            dedicated SMBUS IRQ when using Interrupt mode.

    (#) Non Blocking mode functions with Interrupt are :
        (++) HAL_SMBUS_Master_Transmit_IT()
        (++) HAL_SMBUS_Master_Receive_IT()
        (++) HAL_SMBUS_Master_Abort_IT()
        (++) HAL_SMBUS_Slave_Transmit_IT()
        (++) HAL_SMBUS_Slave_Receive_IT()
        (++) HAL_SMBUS_EnableAlert_IT()
        (++) HAL_SMBUS_DisableAlert_IT()

    (#) A set of Transfer Complete Callbacks are provided in No_Blocking mode:
        (++) HAL_SMBUS_MasterTxCpltCallback()
        (++) HAL_SMBUS_MasterRxCpltCallback()
        (++) HAL_SMBUS_SlaveTxCpltCallback()
        (++) HAL_SMBUS_SlaveRxCpltCallback()
        (++) HAL_SMBUS_AddrCallback()
        (++) HAL_SMBUS_ListenCpltCallback()
        (++) HAL_SMBUS_ErrorCallback()
        (++) HAL_SMBUS_AbortCpltCallback()


Function Documentation

SMBUS abort callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1843 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), and SMBUS_ITError().

__weak void HAL_SMBUS_AddrCallback ( SMBUS_HandleTypeDef hsmbus,
uint8_t  TransferDirection,
uint16_t  AddrMatchCode 
)

Slave Address Match callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
TransferDirectionMaster request Transfer Direction (Write/Read), value of SMBUS XferOptions definition
AddrMatchCodeAddress Match Code
Return values:
None

Definition at line 1793 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterAddrCallback(), and SMBUS_Slave_ADDR().

HAL_StatusTypeDef HAL_SMBUS_DisableAlert_IT ( SMBUS_HandleTypeDef hsmbus)

Disable the SMBUS alert mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUSx peripheral.
Return values:
HALstatus

Definition at line 1371 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_DISABLE_IT, __SMBUS_HandleTypeDef::Instance, and SMBUS_IT_ERR.

HAL_StatusTypeDef HAL_SMBUS_DisableListen_IT ( SMBUS_HandleTypeDef hsmbus)

Disable the Address listen mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
HALstatus

Definition at line 1319 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_DISABLE_IT, HAL_SMBUS_MODE_NONE, HAL_SMBUS_STATE_LISTEN, HAL_SMBUS_STATE_READY, __SMBUS_HandleTypeDef::Instance, __SMBUS_HandleTypeDef::Mode, __SMBUS_HandleTypeDef::PreviousState, SMBUS_IT_ERR, SMBUS_IT_EVT, SMBUS_STATE_MSK, and __SMBUS_HandleTypeDef::State.

HAL_StatusTypeDef HAL_SMBUS_EnableAlert_IT ( SMBUS_HandleTypeDef hsmbus)

Enable the SMBUS alert mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUSx peripheral.
Return values:
HALstatus

Definition at line 1352 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_CLEAR_FLAG, __HAL_SMBUS_ENABLE_IT, __SMBUS_HandleTypeDef::Instance, SMBUS_FLAG_SMBALERT, and SMBUS_IT_ERR.

HAL_StatusTypeDef HAL_SMBUS_EnableListen_IT ( SMBUS_HandleTypeDef hsmbus)

Enable the Address listen mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
HALstatus

Definition at line 1286 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_ENABLE, __HAL_SMBUS_ENABLE_IT, HAL_SMBUS_STATE_LISTEN, HAL_SMBUS_STATE_READY, __SMBUS_HandleTypeDef::Instance, SMBUS_IT_ERR, SMBUS_IT_EVT, and __SMBUS_HandleTypeDef::State.

__weak void HAL_SMBUS_ErrorCallback ( SMBUS_HandleTypeDef hsmbus)

SMBUS error callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1827 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), and SMBUS_ITError().

HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady ( SMBUS_HandleTypeDef hsmbus,
uint16_t  DevAddress,
uint32_t  Trials,
uint32_t  Timeout 
)

Check if target device is ready for communication.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
DevAddressTarget device address The device 7 bits address value in datasheet must be shifted to the left before calling the interface
TrialsNumber of trials
TimeoutTimeout duration
Return values:
HALstatus

Definition at line 1393 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_CLEAR_ADDRFLAG, __HAL_SMBUS_CLEAR_FLAG, __HAL_SMBUS_ENABLE, __HAL_SMBUS_GET_FLAG, __SMBUS_HandleTypeDef::ErrorCode, HAL_GetTick(), HAL_SMBUS_ERROR_NONE, HAL_SMBUS_STATE_BUSY, HAL_SMBUS_STATE_READY, HAL_SMBUS_STATE_TIMEOUT, __SMBUS_HandleTypeDef::Instance, SMBUS_7BIT_ADD_WRITE, SMBUS_FLAG_ADDR, SMBUS_FLAG_AF, SMBUS_FLAG_BUSY, SMBUS_FLAG_SB, SMBUS_NO_OPTION_FRAME, SMBUS_TIMEOUT_BUSY_FLAG, SMBUS_WaitOnFlagUntilTimeout(), __SMBUS_HandleTypeDef::State, and __SMBUS_HandleTypeDef::XferOptions.

Listen Complete callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1811 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), SMBUS_ITError(), SMBUS_Slave_AF(), and SMBUS_Slave_STOPF().

HAL_StatusTypeDef HAL_SMBUS_Master_Abort_IT ( SMBUS_HandleTypeDef hsmbus,
uint16_t  DevAddress 
)

Abort a master/host SMBUS process communication with Interrupt.

Note:
This abort can be called only if state is ready
Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
DevAddressTarget device address The device 7 bits address value in datasheet must be shifted to the left before calling the interface
Return values:
HALstatus

Definition at line 1106 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_DISABLE_IT, __SMBUS_HandleTypeDef::ErrorCode, HAL_SMBUS_ERROR_NONE, HAL_SMBUS_STATE_ABORT, __SMBUS_HandleTypeDef::Init, __SMBUS_HandleTypeDef::Instance, SMBUS_InitTypeDef::PeripheralMode, __SMBUS_HandleTypeDef::PreviousState, SMBUS_IT_BUF, SMBUS_IT_ERR, SMBUS_IT_EVT, SMBUS_ITError(), SMBUS_PERIPHERAL_MODE_SMBUS_HOST, SMBUS_STATE_NONE, __SMBUS_HandleTypeDef::State, and __SMBUS_HandleTypeDef::XferCount.

HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT ( SMBUS_HandleTypeDef hsmbus,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Receive in master/host SMBUS mode an amount of data in non blocking mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
DevAddressTarget device address The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of SMBUS XferOptions definition
Return values:
HALstatus

Definition at line 992 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_ENABLE, __HAL_SMBUS_ENABLE_IT, __HAL_SMBUS_GET_FLAG, assert_param, __SMBUS_HandleTypeDef::Devaddress, __SMBUS_HandleTypeDef::ErrorCode, HAL_SMBUS_ERROR_NONE, HAL_SMBUS_MODE_MASTER, HAL_SMBUS_STATE_BUSY_RX, HAL_SMBUS_STATE_READY, __SMBUS_HandleTypeDef::Instance, IS_SMBUS_TRANSFER_OPTIONS_REQUEST, __SMBUS_HandleTypeDef::Mode, __SMBUS_HandleTypeDef::pBuffPtr, __SMBUS_HandleTypeDef::PreviousState, SMBUS_FIRST_AND_LAST_FRAME_NO_PEC, SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC, SMBUS_FIRST_FRAME, SMBUS_FLAG_BUSY, SMBUS_IT_BUF, SMBUS_IT_ERR, SMBUS_IT_EVT, SMBUS_LAST_FRAME_NO_PEC, SMBUS_LAST_FRAME_WITH_PEC, SMBUS_NEXT_FRAME, SMBUS_NO_OPTION_FRAME, SMBUS_STATE_MASTER_BUSY_TX, SMBUS_STATE_NONE, SMBUS_TIMEOUT_BUSY_FLAG, __SMBUS_HandleTypeDef::State, __SMBUS_HandleTypeDef::XferCount, __SMBUS_HandleTypeDef::XferOptions, and __SMBUS_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT ( SMBUS_HandleTypeDef hsmbus,
uint16_t  DevAddress,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Transmits in master mode an amount of data in blocking mode.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
DevAddressTarget device address The device 7 bits address value in datasheet must be shifted to the left before calling the interface
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer
Return values:
HALstatus

Definition at line 907 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_ENABLE, __HAL_SMBUS_ENABLE_IT, __HAL_SMBUS_GET_FLAG, assert_param, __SMBUS_HandleTypeDef::Devaddress, __SMBUS_HandleTypeDef::ErrorCode, HAL_SMBUS_ERROR_NONE, HAL_SMBUS_MODE_MASTER, HAL_SMBUS_STATE_BUSY_TX, HAL_SMBUS_STATE_READY, __SMBUS_HandleTypeDef::Instance, IS_SMBUS_TRANSFER_OPTIONS_REQUEST, __SMBUS_HandleTypeDef::Mode, __SMBUS_HandleTypeDef::pBuffPtr, __SMBUS_HandleTypeDef::PreviousState, SMBUS_FIRST_AND_LAST_FRAME_NO_PEC, SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC, SMBUS_FIRST_FRAME, SMBUS_FLAG_BUSY, SMBUS_IT_BUF, SMBUS_IT_ERR, SMBUS_IT_EVT, SMBUS_STATE_NONE, SMBUS_TIMEOUT_BUSY_FLAG, __SMBUS_HandleTypeDef::State, __SMBUS_HandleTypeDef::XferCount, __SMBUS_HandleTypeDef::XferOptions, and __SMBUS_HandleTypeDef::XferSize.

Master Rx Transfer completed callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1744 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), SMBUS_MasterReceive_BTF(), and SMBUS_MasterReceive_RXNE().

Master Tx Transfer completed callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1728 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), SMBUS_MasterTransmit_BTF(), and SMBUS_MasterTransmit_TXE().

HAL_StatusTypeDef HAL_SMBUS_Slave_Receive_IT ( SMBUS_HandleTypeDef hsmbus,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Enable the Address listen mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of SMBUS XferOptions definition
Return values:
HALstatus

Definition at line 1222 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_CLEAR_ADDRFLAG, __HAL_SMBUS_ENABLE, __HAL_SMBUS_ENABLE_IT, assert_param, __SMBUS_HandleTypeDef::ErrorCode, HAL_SMBUS_ERROR_NONE, HAL_SMBUS_MODE_SLAVE, HAL_SMBUS_STATE_BUSY_RX_LISTEN, HAL_SMBUS_STATE_LISTEN, __SMBUS_HandleTypeDef::Instance, IS_SMBUS_TRANSFER_OPTIONS_REQUEST, __SMBUS_HandleTypeDef::Mode, __SMBUS_HandleTypeDef::pBuffPtr, SMBUS_IT_BUF, SMBUS_IT_ERR, SMBUS_IT_EVT, __SMBUS_HandleTypeDef::State, __SMBUS_HandleTypeDef::XferCount, __SMBUS_HandleTypeDef::XferOptions, and __SMBUS_HandleTypeDef::XferSize.

HAL_StatusTypeDef HAL_SMBUS_Slave_Transmit_IT ( SMBUS_HandleTypeDef hsmbus,
uint8_t *  pData,
uint16_t  Size,
uint32_t  XferOptions 
)

Transmit in slave/device SMBUS mode an amount of data in non blocking mode with Interrupt.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
pDataPointer to data buffer
SizeAmount of data to be sent
XferOptionsOptions of Transfer, value of SMBUS XferOptions definition
Return values:
HALstatus

Definition at line 1156 of file stm32f4xx_hal_smbus.c.

References __HAL_SMBUS_CLEAR_ADDRFLAG, __HAL_SMBUS_ENABLE, __HAL_SMBUS_ENABLE_IT, assert_param, __SMBUS_HandleTypeDef::ErrorCode, HAL_SMBUS_ERROR_NONE, HAL_SMBUS_MODE_SLAVE, HAL_SMBUS_STATE_BUSY_TX_LISTEN, HAL_SMBUS_STATE_LISTEN, __SMBUS_HandleTypeDef::Instance, IS_SMBUS_TRANSFER_OPTIONS_REQUEST, __SMBUS_HandleTypeDef::Mode, __SMBUS_HandleTypeDef::pBuffPtr, SMBUS_IT_BUF, SMBUS_IT_ERR, SMBUS_IT_EVT, __SMBUS_HandleTypeDef::State, __SMBUS_HandleTypeDef::XferCount, __SMBUS_HandleTypeDef::XferOptions, and __SMBUS_HandleTypeDef::XferSize.

Slave Rx Transfer completed callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1775 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), and SMBUS_SlaveReceive_RXNE().

Slave Tx Transfer completed callback.

Parameters:
hsmbusPointer to a SMBUS_HandleTypeDef structure that contains the configuration information for the specified SMBUS.
Return values:
None

Definition at line 1759 of file stm32f4xx_hal_smbus.c.

Referenced by HAL_SMBUS_Init(), HAL_SMBUS_UnRegisterCallback(), and SMBUS_SlaveTransmit_TXE().