STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
Loading...
Searching...
No Matches
Input and Output operation functions

Data transfers functions. More...

Collaboration diagram for Input and Output operation functions:

Topics

 Blocking mode Polling
 
 Non-Blocking mode Interrupt
 
 IRQ Handler and Callbacks
 
 Peripheral State and Errors functions
 Peripheral State and Errors functions.
 

Functions

HAL_StatusTypeDef HAL_FMPSMBUS_Master_Transmit_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Transmit in master/host FMPSMBUS mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_Master_Receive_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Receive in master/host FMPSMBUS mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_Master_Abort_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus, uint16_t DevAddress)
 Abort a master/host FMPSMBUS process communication with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_Slave_Transmit_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Transmit in slave/device FMPSMBUS mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_Slave_Receive_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
 Receive in slave/device FMPSMBUS mode an amount of data in non-blocking mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_EnableListen_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus)
 Enable the Address listen mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_DisableListen_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus)
 Disable the Address listen mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_EnableAlert_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus)
 Enable the FMPSMBUS alert mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_DisableAlert_IT (FMPSMBUS_HandleTypeDef *hfmpsmbus)
 Disable the FMPSMBUS alert mode with Interrupt.
 
HAL_StatusTypeDef HAL_FMPSMBUS_IsDeviceReady (FMPSMBUS_HandleTypeDef *hfmpsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout)
 Check if target device is ready for communication.
 

Detailed Description

Data transfers functions.

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

    (#) Blocking mode function to check if device is ready for usage is :
        (++) HAL_FMPSMBUS_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 FMPSMBUS IRQ when using Interrupt mode.

    (#) Non-Blocking mode functions with Interrupt are :
        (++) HAL_FMPSMBUS_Master_Transmit_IT()
        (++) HAL_FMPSMBUS_Master_Receive_IT()
        (++) HAL_FMPSMBUS_Slave_Transmit_IT()
        (++) HAL_FMPSMBUS_Slave_Receive_IT()
        (++) HAL_FMPSMBUS_EnableListen_IT() or alias HAL_FMPSMBUS_EnableListen_IT()
        (++) HAL_FMPSMBUS_DisableListen_IT()
        (++) HAL_FMPSMBUS_EnableAlert_IT()
        (++) HAL_FMPSMBUS_DisableAlert_IT()

    (#) A set of Transfer Complete Callbacks are provided in non-Blocking mode:
        (++) HAL_FMPSMBUS_MasterTxCpltCallback()
        (++) HAL_FMPSMBUS_MasterRxCpltCallback()
        (++) HAL_FMPSMBUS_SlaveTxCpltCallback()
        (++) HAL_FMPSMBUS_SlaveRxCpltCallback()
        (++) HAL_FMPSMBUS_AddrCallback()
        (++) HAL_FMPSMBUS_ListenCpltCallback()
        (++) HAL_FMPSMBUS_ErrorCallback()

Function Documentation

◆ HAL_FMPSMBUS_Master_Transmit_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_Master_Transmit_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpsmbus.c>

Transmit in master/host FMPSMBUS mode an amount of data in non-blocking mode with Interrupt.

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUS.
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 FMPSMBUS XferOptions definition
Return values
HALstatus

Definition at line 926 of file stm32f4xx_hal_fmpsmbus.c.

References __HAL_LOCK, __HAL_UNLOCK, assert_param, FMPSMBUS_HandleTypeDef::ErrorCode, FMPSMBUS_ConvertOtherXferOptions(), FMPSMBUS_Enable_IRQ(), FMPSMBUS_FIRST_AND_LAST_FRAME_NO_PEC, FMPSMBUS_FIRST_AND_LAST_FRAME_WITH_PEC, FMPSMBUS_FIRST_FRAME, FMPSMBUS_FIRST_FRAME_WITH_PEC, FMPSMBUS_GENERATE_START_WRITE, FMPSMBUS_GET_PEC_MODE, FMPSMBUS_IT_TX, FMPSMBUS_NO_STARTSTOP, FMPSMBUS_RELOAD_MODE, FMPSMBUS_SENDPEC_MODE, FMPSMBUS_TransferConfig(), HAL_BUSY, HAL_ERROR, HAL_FMPSMBUS_ERROR_NONE, HAL_FMPSMBUS_STATE_MASTER_BUSY_TX, HAL_FMPSMBUS_STATE_READY, HAL_OK, FMPSMBUS_HandleTypeDef::Instance, IS_FMPSMBUS_TRANSFER_OPTIONS_REQUEST, IS_FMPSMBUS_TRANSFER_OTHER_OPTIONS_REQUEST, MAX_NBYTE_SIZE, FMPSMBUS_HandleTypeDef::pBuffPtr, FMPSMBUS_HandleTypeDef::PreviousState, FMPSMBUS_HandleTypeDef::State, FMPSMBUS_HandleTypeDef::XferCount, FMPSMBUS_HandleTypeDef::XferOptions, and FMPSMBUS_HandleTypeDef::XferSize.

◆ HAL_FMPSMBUS_Master_Receive_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_Master_Receive_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus,
uint16_t DevAddress,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

#include <stm32f4xx_hal_fmpsmbus.c>

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

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUS.
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 FMPSMBUS XferOptions definition
Return values
HALstatus

Definition at line 1064 of file stm32f4xx_hal_fmpsmbus.c.

References __HAL_LOCK, __HAL_UNLOCK, assert_param, FMPSMBUS_HandleTypeDef::ErrorCode, FMPSMBUS_ConvertOtherXferOptions(), FMPSMBUS_Enable_IRQ(), FMPSMBUS_GENERATE_START_READ, FMPSMBUS_IT_RX, FMPSMBUS_NO_STARTSTOP, FMPSMBUS_RELOAD_MODE, FMPSMBUS_SENDPEC_MODE, FMPSMBUS_TransferConfig(), HAL_BUSY, HAL_FMPSMBUS_ERROR_NONE, HAL_FMPSMBUS_STATE_MASTER_BUSY_RX, HAL_FMPSMBUS_STATE_READY, HAL_OK, IS_FMPSMBUS_TRANSFER_OPTIONS_REQUEST, IS_FMPSMBUS_TRANSFER_OTHER_OPTIONS_REQUEST, MAX_NBYTE_SIZE, FMPSMBUS_HandleTypeDef::pBuffPtr, FMPSMBUS_HandleTypeDef::PreviousState, FMPSMBUS_HandleTypeDef::State, FMPSMBUS_HandleTypeDef::XferCount, FMPSMBUS_HandleTypeDef::XferOptions, and FMPSMBUS_HandleTypeDef::XferSize.

◆ HAL_FMPSMBUS_Master_Abort_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_Master_Abort_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus,
uint16_t DevAddress )

#include <stm32f4xx_hal_fmpsmbus.c>

Abort a master/host FMPSMBUS process communication with Interrupt.

Note
This abort can be called only if state is ready
Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUS.
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 1161 of file stm32f4xx_hal_fmpsmbus.c.

References __HAL_LOCK, __HAL_UNLOCK, FMPSMBUS_HandleTypeDef::ErrorCode, FMPSMBUS_AUTOEND_MODE, FMPSMBUS_Enable_IRQ(), FMPSMBUS_IT_RX, FMPSMBUS_IT_TX, FMPSMBUS_NO_STARTSTOP, FMPSMBUS_TransferConfig(), HAL_BUSY, HAL_ERROR, HAL_FMPSMBUS_ERROR_NONE, HAL_FMPSMBUS_STATE_MASTER_BUSY_RX, HAL_FMPSMBUS_STATE_MASTER_BUSY_TX, HAL_FMPSMBUS_STATE_READY, HAL_OK, FMPSMBUS_HandleTypeDef::PreviousState, and FMPSMBUS_HandleTypeDef::State.

◆ HAL_FMPSMBUS_Slave_Transmit_IT()

◆ HAL_FMPSMBUS_Slave_Receive_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_Slave_Receive_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus,
uint8_t * pData,
uint16_t Size,
uint32_t XferOptions )

◆ HAL_FMPSMBUS_EnableListen_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_EnableListen_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus)

#include <stm32f4xx_hal_fmpsmbus.c>

Enable the Address listen mode with Interrupt.

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUS.
Return values
HALstatus

Definition at line 1404 of file stm32f4xx_hal_fmpsmbus.c.

References FMPSMBUS_Enable_IRQ(), FMPSMBUS_IT_ADDR, HAL_FMPSMBUS_STATE_LISTEN, HAL_OK, and FMPSMBUS_HandleTypeDef::State.

◆ HAL_FMPSMBUS_DisableListen_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_DisableListen_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus)

#include <stm32f4xx_hal_fmpsmbus.c>

Disable the Address listen mode with Interrupt.

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUS.
Return values
HALstatus

Definition at line 1420 of file stm32f4xx_hal_fmpsmbus.c.

References FMPSMBUS_Disable_IRQ(), FMPSMBUS_IT_ADDR, HAL_BUSY, HAL_FMPSMBUS_STATE_LISTEN, HAL_FMPSMBUS_STATE_READY, HAL_OK, and FMPSMBUS_HandleTypeDef::State.

◆ HAL_FMPSMBUS_EnableAlert_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_EnableAlert_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus)

#include <stm32f4xx_hal_fmpsmbus.c>

Enable the FMPSMBUS alert mode with Interrupt.

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUSx peripheral.
Return values
HALstatus

Definition at line 1444 of file stm32f4xx_hal_fmpsmbus.c.

References __HAL_FMPSMBUS_CLEAR_FLAG, FMPSMBUS_Enable_IRQ(), FMPSMBUS_FLAG_ALERT, FMPSMBUS_IT_ALERT, HAL_OK, and FMPSMBUS_HandleTypeDef::Instance.

◆ HAL_FMPSMBUS_DisableAlert_IT()

HAL_StatusTypeDef HAL_FMPSMBUS_DisableAlert_IT ( FMPSMBUS_HandleTypeDef * hfmpsmbus)

#include <stm32f4xx_hal_fmpsmbus.c>

Disable the FMPSMBUS alert mode with Interrupt.

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUSx peripheral.
Return values
HALstatus

Definition at line 1463 of file stm32f4xx_hal_fmpsmbus.c.

References FMPSMBUS_Disable_IRQ(), FMPSMBUS_IT_ALERT, HAL_OK, and FMPSMBUS_HandleTypeDef::Instance.

◆ HAL_FMPSMBUS_IsDeviceReady()

HAL_StatusTypeDef HAL_FMPSMBUS_IsDeviceReady ( FMPSMBUS_HandleTypeDef * hfmpsmbus,
uint16_t DevAddress,
uint32_t Trials,
uint32_t Timeout )

#include <stm32f4xx_hal_fmpsmbus.c>

Check if target device is ready for communication.

Parameters
hfmpsmbusPointer to a FMPSMBUS_HandleTypeDef structure that contains the configuration information for the specified FMPSMBUS.
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 1484 of file stm32f4xx_hal_fmpsmbus.c.

References __HAL_FMPSMBUS_CLEAR_FLAG, __HAL_FMPSMBUS_GET_FLAG, __HAL_LOCK, __HAL_UNLOCK, FMPSMBUS_InitTypeDef::AddressingMode, FMPSMBUS_HandleTypeDef::ErrorCode, FMPSMBUS_FLAG_AF, FMPSMBUS_FLAG_BUSY, FMPSMBUS_FLAG_STOPF, FMPSMBUS_GENERATE_START, FMPSMBUS_WaitOnFlagUntilTimeout(), HAL_BUSY, HAL_ERROR, HAL_FMPSMBUS_ERROR_HALTIMEOUT, HAL_FMPSMBUS_ERROR_NONE, HAL_FMPSMBUS_STATE_BUSY, HAL_FMPSMBUS_STATE_READY, HAL_GetTick(), HAL_MAX_DELAY, HAL_OK, FMPSMBUS_HandleTypeDef::Init, FMPSMBUS_HandleTypeDef::Instance, and FMPSMBUS_HandleTypeDef::State.