STM32F4xx HAL Driver master
STM32CubeF4 HAL / LL Drivers API Reference
Loading...
Searching...
No Matches
stm32f4xx_hal_smbus.h File Reference

Header file of SMBUS HAL module. More...

Include dependency graph for stm32f4xx_hal_smbus.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SMBUS_InitTypeDef
 SMBUS Configuration Structure definition. More...
struct  __SMBUS_HandleTypeDef
 SMBUS handle Structure definition. More...

Macros

#define HAL_SMBUS_ERROR_NONE   0x00000000U
#define HAL_SMBUS_ERROR_BERR   0x00000001U
#define HAL_SMBUS_ERROR_ARLO   0x00000002U
#define HAL_SMBUS_ERROR_AF   0x00000004U
#define HAL_SMBUS_ERROR_OVR   0x00000008U
#define HAL_SMBUS_ERROR_TIMEOUT   0x00000010U
#define HAL_SMBUS_ERROR_ALERT   0x00000020U
#define HAL_SMBUS_ERROR_PECERR   0x00000040U
#define SMBUS_ANALOGFILTER_ENABLE   0x00000000U
#define SMBUS_ANALOGFILTER_DISABLE   I2C_FLTR_ANOFF
#define SMBUS_ADDRESSINGMODE_7BIT   0x00004000U
#define SMBUS_ADDRESSINGMODE_10BIT   (I2C_OAR1_ADDMODE | 0x00004000U)
#define SMBUS_DUALADDRESS_DISABLE   0x00000000U
#define SMBUS_DUALADDRESS_ENABLE   I2C_OAR2_ENDUAL
#define SMBUS_GENERALCALL_DISABLE   0x00000000U
#define SMBUS_GENERALCALL_ENABLE   I2C_CR1_ENGC
#define SMBUS_NOSTRETCH_DISABLE   0x00000000U
#define SMBUS_NOSTRETCH_ENABLE   I2C_CR1_NOSTRETCH
#define SMBUS_PEC_DISABLE   0x00000000U
#define SMBUS_PEC_ENABLE   I2C_CR1_ENPEC
#define SMBUS_PERIPHERAL_MODE_SMBUS_HOST   (uint32_t)(I2C_CR1_SMBUS | I2C_CR1_SMBTYPE | I2C_CR1_ENARP)
#define SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE   I2C_CR1_SMBUS
#define SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE_ARP   (uint32_t)(I2C_CR1_SMBUS | I2C_CR1_ENARP)
#define SMBUS_DIRECTION_RECEIVE   0x00000000U
#define SMBUS_DIRECTION_TRANSMIT   0x00000001U
#define SMBUS_FIRST_FRAME   0x00000001U
#define SMBUS_NEXT_FRAME   0x00000002U
#define SMBUS_FIRST_AND_LAST_FRAME_NO_PEC   0x00000003U
#define SMBUS_LAST_FRAME_NO_PEC   0x00000004U
#define SMBUS_FIRST_AND_LAST_FRAME_WITH_PEC   0x00000005U
#define SMBUS_LAST_FRAME_WITH_PEC   0x00000006U
#define SMBUS_IT_BUF   I2C_CR2_ITBUFEN
#define SMBUS_IT_EVT   I2C_CR2_ITEVTEN
#define SMBUS_IT_ERR   I2C_CR2_ITERREN
#define SMBUS_FLAG_SMBALERT   0x00018000U
#define SMBUS_FLAG_TIMEOUT   0x00014000U
#define SMBUS_FLAG_PECERR   0x00011000U
#define SMBUS_FLAG_OVR   0x00010800U
#define SMBUS_FLAG_AF   0x00010400U
#define SMBUS_FLAG_ARLO   0x00010200U
#define SMBUS_FLAG_BERR   0x00010100U
#define SMBUS_FLAG_TXE   0x00010080U
#define SMBUS_FLAG_RXNE   0x00010040U
#define SMBUS_FLAG_STOPF   0x00010010U
#define SMBUS_FLAG_ADD10   0x00010008U
#define SMBUS_FLAG_BTF   0x00010004U
#define SMBUS_FLAG_ADDR   0x00010002U
#define SMBUS_FLAG_SB   0x00010001U
#define SMBUS_FLAG_DUALF   0x00100080U
#define SMBUS_FLAG_SMBHOST   0x00100040U
#define SMBUS_FLAG_SMBDEFAULT   0x00100020U
#define SMBUS_FLAG_GENCALL   0x00100010U
#define SMBUS_FLAG_TRA   0x00100004U
#define SMBUS_FLAG_BUSY   0x00100002U
#define SMBUS_FLAG_MSL   0x00100001U
#define __HAL_SMBUS_RESET_HANDLE_STATE(__HANDLE__)
 Reset SMBUS handle state.
#define __HAL_SMBUS_ENABLE_IT(__HANDLE__, __INTERRUPT__)
 Enable or disable the specified SMBUS interrupts.
#define __HAL_SMBUS_DISABLE_IT(__HANDLE__, __INTERRUPT__)
#define __HAL_SMBUS_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__)
 Checks if the specified SMBUS interrupt source is enabled or disabled.
#define __HAL_SMBUS_GET_FLAG(__HANDLE__, __FLAG__)
 Checks whether the specified SMBUS flag is set or not.
#define __HAL_SMBUS_CLEAR_FLAG(__HANDLE__, __FLAG__)
 Clears the SMBUS pending flags which are cleared by writing 0 in a specific bit.
#define __HAL_SMBUS_CLEAR_ADDRFLAG(__HANDLE__)
 Clears the SMBUS ADDR pending flag.
#define __HAL_SMBUS_CLEAR_STOPFLAG(__HANDLE__)
 Clears the SMBUS STOPF pending flag.
#define __HAL_SMBUS_ENABLE(__HANDLE__)
 Enable the SMBUS peripheral.
#define __HAL_SMBUS_DISABLE(__HANDLE__)
 Disable the SMBUS peripheral.
#define __HAL_SMBUS_GENERATE_NACK(__HANDLE__)
 Generate a Non-Acknowledge SMBUS peripheral in Slave mode.
#define SMBUS_FLAG_MASK   0x0000FFFFU
#define SMBUS_FREQRANGE(__PCLK__)
#define SMBUS_RISE_TIME(__FREQRANGE__)
#define SMBUS_SPEED_STANDARD(__PCLK__, __SPEED__)
#define SMBUS_7BIT_ADD_WRITE(__ADDRESS__)
#define SMBUS_7BIT_ADD_READ(__ADDRESS__)
#define SMBUS_10BIT_ADDRESS(__ADDRESS__)
#define SMBUS_10BIT_HEADER_WRITE(__ADDRESS__)
#define SMBUS_10BIT_HEADER_READ(__ADDRESS__)
#define SMBUS_GET_PEC_MODE(__HANDLE__)
#define SMBUS_GET_PEC_VALUE(__HANDLE__)
#define IS_SMBUS_ADDRESSING_MODE(ADDRESS)
#define IS_SMBUS_DUAL_ADDRESS(ADDRESS)
#define IS_SMBUS_GENERAL_CALL(CALL)
#define IS_SMBUS_NO_STRETCH(STRETCH)
#define IS_SMBUS_PEC(PEC)
#define IS_SMBUS_PERIPHERAL_MODE(MODE)
#define IS_SMBUS_CLOCK_SPEED(SPEED)
#define IS_SMBUS_OWN_ADDRESS1(ADDRESS1)
#define IS_SMBUS_OWN_ADDRESS2(ADDRESS2)
#define IS_SMBUS_TRANSFER_OPTIONS_REQUEST(REQUEST)

Typedefs

typedef struct __SMBUS_HandleTypeDef SMBUS_HandleTypeDef
 SMBUS handle Structure definition.

Enumerations

enum  HAL_SMBUS_StateTypeDef {
  HAL_SMBUS_STATE_RESET = 0x00U , HAL_SMBUS_STATE_READY = 0x20U , HAL_SMBUS_STATE_BUSY = 0x24U , HAL_SMBUS_STATE_BUSY_TX = 0x21U ,
  HAL_SMBUS_STATE_BUSY_RX = 0x22U , HAL_SMBUS_STATE_LISTEN = 0x28U , HAL_SMBUS_STATE_BUSY_TX_LISTEN = 0x29U , HAL_SMBUS_STATE_BUSY_RX_LISTEN = 0x2AU ,
  HAL_SMBUS_STATE_ABORT = 0x60U , HAL_SMBUS_STATE_TIMEOUT = 0xA0U , HAL_SMBUS_STATE_ERROR = 0xE0U
}
 HAL State structure definition. More...
enum  HAL_SMBUS_ModeTypeDef { HAL_SMBUS_MODE_NONE = 0x00U , HAL_SMBUS_MODE_MASTER = 0x10U , HAL_SMBUS_MODE_SLAVE = 0x20U }
 HAL Mode structure definition. More...

Functions

HAL_StatusTypeDef HAL_SMBUS_Init (SMBUS_HandleTypeDef *hsmbus)
HAL_StatusTypeDef HAL_SMBUS_DeInit (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_MspInit (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_MspDeInit (SMBUS_HandleTypeDef *hsmbus)
HAL_StatusTypeDef HAL_SMBUS_IsDeviceReady (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint32_t Trials, uint32_t Timeout)
HAL_StatusTypeDef HAL_SMBUS_Master_Transmit_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
HAL_StatusTypeDef HAL_SMBUS_Master_Receive_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
HAL_StatusTypeDef HAL_SMBUS_Master_Abort_IT (SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress)
HAL_StatusTypeDef HAL_SMBUS_Slave_Transmit_IT (SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
HAL_StatusTypeDef HAL_SMBUS_Slave_Receive_IT (SMBUS_HandleTypeDef *hsmbus, uint8_t *pData, uint16_t Size, uint32_t XferOptions)
HAL_StatusTypeDef HAL_SMBUS_EnableAlert_IT (SMBUS_HandleTypeDef *hsmbus)
HAL_StatusTypeDef HAL_SMBUS_DisableAlert_IT (SMBUS_HandleTypeDef *hsmbus)
HAL_StatusTypeDef HAL_SMBUS_EnableListen_IT (SMBUS_HandleTypeDef *hsmbus)
HAL_StatusTypeDef HAL_SMBUS_DisableListen_IT (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_EV_IRQHandler (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_ER_IRQHandler (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_MasterTxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_MasterRxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_SlaveTxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_SlaveRxCpltCallback (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_AddrCallback (SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode)
void HAL_SMBUS_ListenCpltCallback (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_ErrorCallback (SMBUS_HandleTypeDef *hsmbus)
void HAL_SMBUS_AbortCpltCallback (SMBUS_HandleTypeDef *hsmbus)
HAL_SMBUS_StateTypeDef HAL_SMBUS_GetState (SMBUS_HandleTypeDef *hsmbus)
HAL_SMBUS_ModeTypeDef HAL_SMBUS_GetMode (SMBUS_HandleTypeDef *hsmbus)
uint32_t HAL_SMBUS_GetError (SMBUS_HandleTypeDef *hsmbus)

Detailed Description

Header file of SMBUS HAL module.

Author
MCD Application Team
Attention

Copyright (c) 2016 STMicroelectronics. All rights reserved.

This software is licensed under terms that can be found in the LICENSE file in the root directory of this software component. If no LICENSE file comes with this software, it is provided AS-IS.

Definition in file stm32f4xx_hal_smbus.h.