STM32L443xx HAL User Manual
|
Header file of CAN HAL module. More...
#include "stm32l4xx_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_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.
Copyright (c) 2017 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 stm32l4xx_hal_can.h.