STM32F4xx HAL Documentation
Hardware Abstraction Layer for STM32F4 familiy
|
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... | |
Macros | |
#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_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__) |
Enable the specified CAN interrupts. | |
#define | __HAL_CAN_DISABLE_IT(__HANDLE__, __INTERRUPT__) |
Disable the specified CAN interrupts. | |
#define | __HAL_CAN_GET_IT_SOURCE(__HANDLE__, __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) |
#define | IS_CAN_FILTER_ID_HALFWORD(HALFWORD) |
#define | IS_CAN_FILTER_BANK_DUAL(BANK) |
#define | IS_CAN_FILTER_BANK_SINGLE(BANK) |
#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) |
#define | IS_CAN_STDID(STDID) |
#define | IS_CAN_EXTID(EXTID) |
#define | IS_CAN_DLC(DLC) |
#define | IS_CAN_IDTYPE(IDTYPE) |
#define | IS_CAN_RTR(RTR) |
#define | IS_CAN_RX_FIFO(FIFO) |
#define | IS_CAN_IT(IT) |
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... | |
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. | |
void | HAL_CAN_MspInit (CAN_HandleTypeDef *hcan) |
Initializes the CAN MSP. | |
void | HAL_CAN_MspDeInit (CAN_HandleTypeDef *hcan) |
DeInitializes the CAN MSP. | |
HAL_StatusTypeDef | HAL_CAN_ConfigFilter (CAN_HandleTypeDef *hcan, const 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. When returning from this function, Sleep mode will be entered as soon as the current CAN activity (transmission or reception of a CAN frame) has been completed. | |
HAL_StatusTypeDef | HAL_CAN_WakeUp (CAN_HandleTypeDef *hcan) |
Wake up from sleep mode. When returning with HAL_OK status from this function, Sleep mode is exited. | |
uint32_t | HAL_CAN_IsSleepActive (const CAN_HandleTypeDef *hcan) |
Check is sleep mode is active. | |
HAL_StatusTypeDef | HAL_CAN_AddTxMessage (CAN_HandleTypeDef *hcan, const CAN_TxHeaderTypeDef *pHeader, const 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 (const CAN_HandleTypeDef *hcan) |
Return Tx Mailboxes free level: number of free Tx Mailboxes. | |
uint32_t | HAL_CAN_IsTxMessagePending (const CAN_HandleTypeDef *hcan, uint32_t TxMailboxes) |
Check if a transmission request is pending on the selected Tx Mailboxes. | |
uint32_t | HAL_CAN_GetTxTimestamp (const 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 (const 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. | |
void | HAL_CAN_TxMailbox0CompleteCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 0 complete callback. | |
void | HAL_CAN_TxMailbox1CompleteCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 1 complete callback. | |
void | HAL_CAN_TxMailbox2CompleteCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 2 complete callback. | |
void | HAL_CAN_TxMailbox0AbortCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 0 Cancellation callback. | |
void | HAL_CAN_TxMailbox1AbortCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 1 Cancellation callback. | |
void | HAL_CAN_TxMailbox2AbortCallback (CAN_HandleTypeDef *hcan) |
Transmission Mailbox 2 Cancellation callback. | |
void | HAL_CAN_RxFifo0MsgPendingCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 0 message pending callback. | |
void | HAL_CAN_RxFifo0FullCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 0 full callback. | |
void | HAL_CAN_RxFifo1MsgPendingCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 1 message pending callback. | |
void | HAL_CAN_RxFifo1FullCallback (CAN_HandleTypeDef *hcan) |
Rx FIFO 1 full callback. | |
void | HAL_CAN_SleepCallback (CAN_HandleTypeDef *hcan) |
Sleep callback. | |
void | HAL_CAN_WakeUpFromRxMsgCallback (CAN_HandleTypeDef *hcan) |
WakeUp from Rx message callback. | |
void | HAL_CAN_ErrorCallback (CAN_HandleTypeDef *hcan) |
Error CAN callback. | |
HAL_CAN_StateTypeDef | HAL_CAN_GetState (const CAN_HandleTypeDef *hcan) |
Return the CAN state. | |
uint32_t | HAL_CAN_GetError (const 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) 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_can.h.