STM32F479xx HAL User Manual
|
Header file of CAN HAL module. More...
#include "stm32f4xx_hal_def.h"
Go to the source code of this file.
Data Structures | |
struct | CAN_InitTypeDef |
CAN init structure definition. More... | |
struct | CAN_FilterTypeDef |
CAN filter configuration structure definition. More... | |
struct | CAN_TxHeaderTypeDef |
CAN Tx message header structure definition. More... | |
struct | CAN_RxHeaderTypeDef |
CAN Rx message header structure definition. More... | |
struct | __CAN_HandleTypeDef |
CAN handle Structure definition. More... | |
Defines | |
#define | HAL_CAN_ERROR_NONE (0x00000000U) |
#define | HAL_CAN_ERROR_EWG (0x00000001U) |
#define | HAL_CAN_ERROR_EPV (0x00000002U) |
#define | HAL_CAN_ERROR_BOF (0x00000004U) |
#define | HAL_CAN_ERROR_STF (0x00000008U) |
#define | HAL_CAN_ERROR_FOR (0x00000010U) |
#define | HAL_CAN_ERROR_ACK (0x00000020U) |
#define | HAL_CAN_ERROR_BR (0x00000040U) |
#define | HAL_CAN_ERROR_BD (0x00000080U) |
#define | HAL_CAN_ERROR_CRC (0x00000100U) |
#define | HAL_CAN_ERROR_RX_FOV0 (0x00000200U) |
#define | HAL_CAN_ERROR_RX_FOV1 (0x00000400U) |
#define | HAL_CAN_ERROR_TX_ALST0 (0x00000800U) |
#define | HAL_CAN_ERROR_TX_TERR0 (0x00001000U) |
#define | HAL_CAN_ERROR_TX_ALST1 (0x00002000U) |
#define | HAL_CAN_ERROR_TX_TERR1 (0x00004000U) |
#define | HAL_CAN_ERROR_TX_ALST2 (0x00008000U) |
#define | HAL_CAN_ERROR_TX_TERR2 (0x00010000U) |
#define | HAL_CAN_ERROR_TIMEOUT (0x00020000U) |
#define | HAL_CAN_ERROR_NOT_INITIALIZED (0x00040000U) |
#define | HAL_CAN_ERROR_NOT_READY (0x00080000U) |
#define | HAL_CAN_ERROR_NOT_STARTED (0x00100000U) |
#define | HAL_CAN_ERROR_PARAM (0x00200000U) |
#define | HAL_CAN_ERROR_INVALID_CALLBACK (0x00400000U) |
#define | HAL_CAN_ERROR_INTERNAL (0x00800000U) |
#define | CAN_INITSTATUS_FAILED (0x00000000U) |
#define | CAN_INITSTATUS_SUCCESS (0x00000001U) |
#define | CAN_MODE_NORMAL (0x00000000U) |
#define | CAN_MODE_LOOPBACK ((uint32_t)CAN_BTR_LBKM) |
#define | CAN_MODE_SILENT ((uint32_t)CAN_BTR_SILM) |
#define | CAN_MODE_SILENT_LOOPBACK ((uint32_t)(CAN_BTR_LBKM | CAN_BTR_SILM)) |
#define | CAN_SJW_1TQ (0x00000000U) |
#define | CAN_SJW_2TQ ((uint32_t)CAN_BTR_SJW_0) |
#define | CAN_SJW_3TQ ((uint32_t)CAN_BTR_SJW_1) |
#define | CAN_SJW_4TQ ((uint32_t)CAN_BTR_SJW) |
#define | CAN_BS1_1TQ (0x00000000U) |
#define | CAN_BS1_2TQ ((uint32_t)CAN_BTR_TS1_0) |
#define | CAN_BS1_3TQ ((uint32_t)CAN_BTR_TS1_1) |
#define | CAN_BS1_4TQ ((uint32_t)(CAN_BTR_TS1_1 | CAN_BTR_TS1_0)) |
#define | CAN_BS1_5TQ ((uint32_t)CAN_BTR_TS1_2) |
#define | CAN_BS1_6TQ ((uint32_t)(CAN_BTR_TS1_2 | CAN_BTR_TS1_0)) |
#define | CAN_BS1_7TQ ((uint32_t)(CAN_BTR_TS1_2 | CAN_BTR_TS1_1)) |
#define | CAN_BS1_8TQ ((uint32_t)(CAN_BTR_TS1_2 | CAN_BTR_TS1_1 | CAN_BTR_TS1_0)) |
#define | CAN_BS1_9TQ ((uint32_t)CAN_BTR_TS1_3) |
#define | CAN_BS1_10TQ ((uint32_t)(CAN_BTR_TS1_3 | CAN_BTR_TS1_0)) |
#define | CAN_BS1_11TQ ((uint32_t)(CAN_BTR_TS1_3 | CAN_BTR_TS1_1)) |
#define | CAN_BS1_12TQ ((uint32_t)(CAN_BTR_TS1_3 | CAN_BTR_TS1_1 | CAN_BTR_TS1_0)) |
#define | CAN_BS1_13TQ ((uint32_t)(CAN_BTR_TS1_3 | CAN_BTR_TS1_2)) |
#define | CAN_BS1_14TQ ((uint32_t)(CAN_BTR_TS1_3 | CAN_BTR_TS1_2 | CAN_BTR_TS1_0)) |
#define | CAN_BS1_15TQ ((uint32_t)(CAN_BTR_TS1_3 | CAN_BTR_TS1_2 | CAN_BTR_TS1_1)) |
#define | CAN_BS1_16TQ ((uint32_t)CAN_BTR_TS1) |
#define | CAN_BS2_1TQ (0x00000000U) |
#define | CAN_BS2_2TQ ((uint32_t)CAN_BTR_TS2_0) |
#define | CAN_BS2_3TQ ((uint32_t)CAN_BTR_TS2_1) |
#define | CAN_BS2_4TQ ((uint32_t)(CAN_BTR_TS2_1 | CAN_BTR_TS2_0)) |
#define | CAN_BS2_5TQ ((uint32_t)CAN_BTR_TS2_2) |
#define | CAN_BS2_6TQ ((uint32_t)(CAN_BTR_TS2_2 | CAN_BTR_TS2_0)) |
#define | CAN_BS2_7TQ ((uint32_t)(CAN_BTR_TS2_2 | CAN_BTR_TS2_1)) |
#define | CAN_BS2_8TQ ((uint32_t)CAN_BTR_TS2) |
#define | CAN_FILTERMODE_IDMASK (0x00000000U) |
#define | CAN_FILTERMODE_IDLIST (0x00000001U) |
#define | CAN_FILTERSCALE_16BIT (0x00000000U) |
#define | CAN_FILTERSCALE_32BIT (0x00000001U) |
#define | CAN_FILTER_DISABLE (0x00000000U) |
#define | CAN_FILTER_ENABLE (0x00000001U) |
#define | CAN_FILTER_FIFO0 (0x00000000U) |
#define | CAN_FILTER_FIFO1 (0x00000001U) |
#define | CAN_ID_STD (0x00000000U) |
#define | CAN_ID_EXT (0x00000004U) |
#define | CAN_RTR_DATA (0x00000000U) |
#define | CAN_RTR_REMOTE (0x00000002U) |
#define | CAN_RX_FIFO0 (0x00000000U) |
#define | CAN_RX_FIFO1 (0x00000001U) |
#define | CAN_TX_MAILBOX0 (0x00000001U) |
#define | CAN_TX_MAILBOX1 (0x00000002U) |
#define | CAN_TX_MAILBOX2 (0x00000004U) |
#define | CAN_FLAG_RQCP0 (0x00000500U) |
#define | CAN_FLAG_TXOK0 (0x00000501U) |
#define | CAN_FLAG_ALST0 (0x00000502U) |
#define | CAN_FLAG_TERR0 (0x00000503U) |
#define | CAN_FLAG_RQCP1 (0x00000508U) |
#define | CAN_FLAG_TXOK1 (0x00000509U) |
#define | CAN_FLAG_ALST1 (0x0000050AU) |
#define | CAN_FLAG_TERR1 (0x0000050BU) |
#define | CAN_FLAG_RQCP2 (0x00000510U) |
#define | CAN_FLAG_TXOK2 (0x00000511U) |
#define | CAN_FLAG_ALST2 (0x00000512U) |
#define | CAN_FLAG_TERR2 (0x00000513U) |
#define | CAN_FLAG_TME0 (0x0000051AU) |
#define | CAN_FLAG_TME1 (0x0000051BU) |
#define | CAN_FLAG_TME2 (0x0000051CU) |
#define | CAN_FLAG_LOW0 (0x0000051DU) |
#define | CAN_FLAG_LOW1 (0x0000051EU) |
#define | CAN_FLAG_LOW2 (0x0000051FU) |
#define | CAN_FLAG_FF0 (0x00000203U) |
#define | CAN_FLAG_FOV0 (0x00000204U) |
#define | CAN_FLAG_FF1 (0x00000403U) |
#define | CAN_FLAG_FOV1 (0x00000404U) |
#define | CAN_FLAG_INAK (0x00000100U) |
#define | CAN_FLAG_SLAK (0x00000101U) |
#define | CAN_FLAG_ERRI (0x00000102U) |
#define | CAN_FLAG_WKU (0x00000103U) |
#define | CAN_FLAG_SLAKI (0x00000104U) |
#define | CAN_FLAG_EWG (0x00000300U) |
#define | CAN_FLAG_EPV (0x00000301U) |
#define | CAN_FLAG_BOF (0x00000302U) |
#define | CAN_IT_TX_MAILBOX_EMPTY ((uint32_t)CAN_IER_TMEIE) |
#define | CAN_IT_RX_FIFO0_MSG_PENDING ((uint32_t)CAN_IER_FMPIE0) |
#define | CAN_IT_RX_FIFO0_FULL ((uint32_t)CAN_IER_FFIE0) |
#define | CAN_IT_RX_FIFO0_OVERRUN ((uint32_t)CAN_IER_FOVIE0) |
#define | CAN_IT_RX_FIFO1_MSG_PENDING ((uint32_t)CAN_IER_FMPIE1) |
#define | CAN_IT_RX_FIFO1_FULL ((uint32_t)CAN_IER_FFIE1) |
#define | CAN_IT_RX_FIFO1_OVERRUN ((uint32_t)CAN_IER_FOVIE1) |
#define | CAN_IT_WAKEUP ((uint32_t)CAN_IER_WKUIE) |
#define | CAN_IT_SLEEP_ACK ((uint32_t)CAN_IER_SLKIE) |
#define | CAN_IT_ERROR_WARNING ((uint32_t)CAN_IER_EWGIE) |
#define | CAN_IT_ERROR_PASSIVE ((uint32_t)CAN_IER_EPVIE) |
#define | CAN_IT_BUSOFF ((uint32_t)CAN_IER_BOFIE) |
#define | CAN_IT_LAST_ERROR_CODE ((uint32_t)CAN_IER_LECIE) |
#define | CAN_IT_ERROR ((uint32_t)CAN_IER_ERRIE) |
#define | __HAL_CAN_RESET_HANDLE_STATE(__HANDLE__) |
Reset CAN handle state. | |
#define | __HAL_CAN_ENABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IER) |= (__INTERRUPT__)) |
Enable the specified CAN interrupts. | |
#define | __HAL_CAN_DISABLE_IT(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IER) &= ~(__INTERRUPT__)) |
Disable the specified CAN interrupts. | |
#define | __HAL_CAN_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (((__HANDLE__)->Instance->IER) & (__INTERRUPT__)) |
Check if the specified CAN interrupt source is enabled or disabled. | |
#define | __HAL_CAN_GET_FLAG(__HANDLE__, __FLAG__) |
Check whether the specified CAN flag is set or not. | |
#define | __HAL_CAN_CLEAR_FLAG(__HANDLE__, __FLAG__) |
Clear the specified CAN pending flag. | |
#define | CAN_FLAG_MASK (0x000000FFU) |
#define | IS_CAN_MODE(MODE) |
#define | IS_CAN_SJW(SJW) |
#define | IS_CAN_BS1(BS1) |
#define | IS_CAN_BS2(BS2) |
#define | IS_CAN_PRESCALER(PRESCALER) (((PRESCALER) >= 1U) && ((PRESCALER) <= 1024U)) |
#define | IS_CAN_FILTER_ID_HALFWORD(HALFWORD) ((HALFWORD) <= 0xFFFFU) |
#define | IS_CAN_FILTER_BANK_DUAL(BANK) ((BANK) <= 27U) |
#define | IS_CAN_FILTER_BANK_SINGLE(BANK) ((BANK) <= 13U) |
#define | IS_CAN_FILTER_MODE(MODE) |
#define | IS_CAN_FILTER_SCALE(SCALE) |
#define | IS_CAN_FILTER_ACTIVATION(ACTIVATION) |
#define | IS_CAN_FILTER_FIFO(FIFO) |
#define | IS_CAN_TX_MAILBOX(TRANSMITMAILBOX) |
#define | IS_CAN_TX_MAILBOX_LIST(TRANSMITMAILBOX) ((TRANSMITMAILBOX) <= (CAN_TX_MAILBOX0 | CAN_TX_MAILBOX1 | CAN_TX_MAILBOX2)) |
#define | IS_CAN_STDID(STDID) ((STDID) <= 0x7FFU) |
#define | IS_CAN_EXTID(EXTID) ((EXTID) <= 0x1FFFFFFFU) |
#define | IS_CAN_DLC(DLC) ((DLC) <= 8U) |
#define | IS_CAN_IDTYPE(IDTYPE) |
#define | IS_CAN_RTR(RTR) (((RTR) == CAN_RTR_DATA) || ((RTR) == CAN_RTR_REMOTE)) |
#define | IS_CAN_RX_FIFO(FIFO) (((FIFO) == CAN_RX_FIFO0) || ((FIFO) == CAN_RX_FIFO1)) |
#define | IS_CAN_IT(IT) |
Typedefs | |
typedef struct __CAN_HandleTypeDef | CAN_HandleTypeDef |
CAN handle Structure definition. | |
typedef void(* | pCAN_CallbackTypeDef )(CAN_HandleTypeDef *hcan) |
HAL CAN Callback pointer definition. | |
Enumerations | |
enum | HAL_CAN_StateTypeDef { HAL_CAN_STATE_RESET = 0x00U, HAL_CAN_STATE_READY = 0x01U, HAL_CAN_STATE_LISTENING = 0x02U, HAL_CAN_STATE_SLEEP_PENDING = 0x03U, HAL_CAN_STATE_SLEEP_ACTIVE = 0x04U, HAL_CAN_STATE_ERROR = 0x05U } |
HAL State structures definition. More... | |
enum | HAL_CAN_CallbackIDTypeDef { HAL_CAN_TX_MAILBOX0_COMPLETE_CB_ID = 0x00U, HAL_CAN_TX_MAILBOX1_COMPLETE_CB_ID = 0x01U, HAL_CAN_TX_MAILBOX2_COMPLETE_CB_ID = 0x02U, HAL_CAN_TX_MAILBOX0_ABORT_CB_ID = 0x03U, HAL_CAN_TX_MAILBOX1_ABORT_CB_ID = 0x04U, HAL_CAN_TX_MAILBOX2_ABORT_CB_ID = 0x05U, HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID = 0x06U, HAL_CAN_RX_FIFO0_FULL_CB_ID = 0x07U, HAL_CAN_RX_FIFO1_MSG_PENDING_CB_ID = 0x08U, HAL_CAN_RX_FIFO1_FULL_CB_ID = 0x09U, HAL_CAN_SLEEP_CB_ID = 0x0AU, HAL_CAN_WAKEUP_FROM_RX_MSG_CB_ID = 0x0BU, HAL_CAN_ERROR_CB_ID = 0x0CU, HAL_CAN_MSPINIT_CB_ID = 0x0DU, HAL_CAN_MSPDEINIT_CB_ID = 0x0EU } |
HAL CAN common Callback ID enumeration definition. More... | |
Functions | |
HAL_StatusTypeDef | HAL_CAN_Init (CAN_HandleTypeDef *hcan) |
Initializes the CAN peripheral according to the specified parameters in the CAN_InitStruct. | |
HAL_StatusTypeDef | HAL_CAN_DeInit (CAN_HandleTypeDef *hcan) |
Deinitializes the CAN peripheral registers to their default reset values. | |
__weak void | HAL_CAN_MspInit (CAN_HandleTypeDef *hcan) |
Initializes the CAN MSP. | |
__weak void | HAL_CAN_MspDeInit (CAN_HandleTypeDef *hcan) |
DeInitializes the CAN MSP. | |
HAL_StatusTypeDef | HAL_CAN_RegisterCallback (CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef CallbackID, void(*pCallback)(CAN_HandleTypeDef *_hcan)) |
Register a CAN CallBack. | |
HAL_StatusTypeDef | HAL_CAN_UnRegisterCallback (CAN_HandleTypeDef *hcan, HAL_CAN_CallbackIDTypeDef CallbackID) |
Unregister a CAN CallBack. | |
HAL_StatusTypeDef | HAL_CAN_ConfigFilter (CAN_HandleTypeDef *hcan, CAN_FilterTypeDef *sFilterConfig) |
Configures the CAN reception filter according to the specified parameters in the CAN_FilterInitStruct. | |
HAL_StatusTypeDef | HAL_CAN_Start (CAN_HandleTypeDef *hcan) |
Start the CAN module. | |
HAL_StatusTypeDef | HAL_CAN_Stop (CAN_HandleTypeDef *hcan) |
Stop the CAN module and enable access to configuration registers. | |
HAL_StatusTypeDef | HAL_CAN_RequestSleep (CAN_HandleTypeDef *hcan) |
Request the sleep mode (low power) entry. | |
HAL_StatusTypeDef | HAL_CAN_WakeUp (CAN_HandleTypeDef *hcan) |
Wake up from sleep mode. | |
uint32_t | HAL_CAN_IsSleepActive (CAN_HandleTypeDef *hcan) |
Check is sleep mode is active. | |
HAL_StatusTypeDef | HAL_CAN_AddTxMessage (CAN_HandleTypeDef *hcan, CAN_TxHeaderTypeDef *pHeader, uint8_t aData[], uint32_t *pTxMailbox) |
Add a message to the first free Tx mailbox and activate the corresponding transmission request. | |
HAL_StatusTypeDef | HAL_CAN_AbortTxRequest (CAN_HandleTypeDef *hcan, uint32_t TxMailboxes) |
Abort transmission requests. | |
uint32_t | HAL_CAN_GetTxMailboxesFreeLevel (CAN_HandleTypeDef *hcan) |
Return Tx Mailboxes free level: number of free Tx Mailboxes. | |
uint32_t | HAL_CAN_IsTxMessagePending (CAN_HandleTypeDef *hcan, uint32_t TxMailboxes) |
Check if a transmission request is pending on the selected Tx Mailboxes. | |
uint32_t | HAL_CAN_GetTxTimestamp (CAN_HandleTypeDef *hcan, uint32_t TxMailbox) |
Return timestamp of Tx message sent, if time triggered communication mode is enabled. | |
HAL_StatusTypeDef | HAL_CAN_GetRxMessage (CAN_HandleTypeDef *hcan, uint32_t RxFifo, CAN_RxHeaderTypeDef *pHeader, uint8_t aData[]) |
Get an CAN frame from the Rx FIFO zone into the message RAM. | |
uint32_t | HAL_CAN_GetRxFifoFillLevel (CAN_HandleTypeDef *hcan, uint32_t RxFifo) |
Return Rx FIFO fill level. | |
HAL_StatusTypeDef | HAL_CAN_ActivateNotification (CAN_HandleTypeDef *hcan, uint32_t ActiveITs) |
Enable interrupts. | |
HAL_StatusTypeDef | HAL_CAN_DeactivateNotification (CAN_HandleTypeDef *hcan, uint32_t InactiveITs) |
Disable interrupts. | |
void | HAL_CAN_IRQHandler (CAN_HandleTypeDef *hcan) |
Handles CAN interrupt request. | |
__weak void | HAL_CAN_TxMailbox0CompleteCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 0 complete callback. | |
__weak void | HAL_CAN_TxMailbox1CompleteCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 1 complete callback. | |
__weak void | HAL_CAN_TxMailbox2CompleteCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 2 complete callback. | |
__weak void | HAL_CAN_TxMailbox0AbortCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 0 Cancellation callback. | |
__weak void | HAL_CAN_TxMailbox1AbortCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 1 Cancellation callback. | |
__weak void | HAL_CAN_TxMailbox2AbortCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 2 Cancellation callback. | |
__weak void | HAL_CAN_RxFifo0MsgPendingCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 0 message pending callback. | |
__weak void | HAL_CAN_RxFifo0FullCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 0 full callback. | |
__weak void | HAL_CAN_RxFifo1MsgPendingCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 1 message pending callback. | |
__weak void | HAL_CAN_RxFifo1FullCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 1 full callback. | |
__weak void | HAL_CAN_SleepCallback (CAN_HandleTypeDef *hcan) |
Sleep callback. | |
__weak void | HAL_CAN_WakeUpFromRxMsgCallback (CAN_HandleTypeDef *hcan) |
WakeUp from Rx message callback. | |
__weak void | HAL_CAN_ErrorCallback (CAN_HandleTypeDef *hcan) |
Error CAN callback. | |
HAL_CAN_StateTypeDef | HAL_CAN_GetState (CAN_HandleTypeDef *hcan) |
Return the CAN state. | |
uint32_t | HAL_CAN_GetError (CAN_HandleTypeDef *hcan) |
Return the CAN error code. | |
HAL_StatusTypeDef | HAL_CAN_ResetError (CAN_HandleTypeDef *hcan) |
Reset the CAN error code. |
Header file of CAN HAL module.
This software component is licensed by ST under BSD 3-Clause license, the "License"; You may not use this file except in compliance with the License. You may obtain a copy of the License at: opensource.org/licenses/BSD-3-Clause
Definition in file stm32f4xx_hal_can.h.