CAN driver modules. More...
Data Structures | |
struct | CAN_InitTypeDef |
CAN init structure definition. More... | |
struct | CAN_FilterInitTypeDef |
CAN filter init structure definition. More... | |
struct | CanTxMsg |
CAN Tx message structure definition. More... | |
struct | CanRxMsg |
CAN Rx message structure definition. More... | |
Modules | |
CAN_Exported_Constants | |
CAN_Private_Functions | |
Defines | |
#define | IS_CAN_ALL_PERIPH(PERIPH) |
#define | MCR_DBF ((uint32_t)0x00010000) |
#define | TMIDxR_TXRQ ((uint32_t)0x00000001) |
#define | FMR_FINIT ((uint32_t)0x00000001) |
#define | INAK_TIMEOUT ((uint32_t)0x0000FFFF) |
#define | SLAK_TIMEOUT ((uint32_t)0x0000FFFF) |
#define | CAN_FLAGS_TSR ((uint32_t)0x08000000) |
#define | CAN_FLAGS_RF1R ((uint32_t)0x04000000) |
#define | CAN_FLAGS_RF0R ((uint32_t)0x02000000) |
#define | CAN_FLAGS_MSR ((uint32_t)0x01000000) |
#define | CAN_FLAGS_ESR ((uint32_t)0x00F00000) |
#define | CAN_TXMAILBOX_0 ((uint8_t)0x00) |
#define | CAN_TXMAILBOX_1 ((uint8_t)0x01) |
#define | CAN_TXMAILBOX_2 ((uint8_t)0x02) |
#define | CAN_MODE_MASK ((uint32_t) 0x00000003) |
Functions | |
void | CAN_DeInit (CAN_TypeDef *CANx) |
Deinitializes the CAN peripheral registers to their default reset values. | |
uint8_t | CAN_Init (CAN_TypeDef *CANx, CAN_InitTypeDef *CAN_InitStruct) |
Initializes the CAN peripheral according to the specified parameters in the CAN_InitStruct. | |
void | CAN_FilterInit (CAN_FilterInitTypeDef *CAN_FilterInitStruct) |
Configures the CAN reception filter according to the specified parameters in the CAN_FilterInitStruct. | |
void | CAN_StructInit (CAN_InitTypeDef *CAN_InitStruct) |
Fills each CAN_InitStruct member with its default value. | |
void | CAN_SlaveStartBank (uint8_t CAN_BankNumber) |
Select the start bank filter for slave CAN. | |
void | CAN_DBGFreeze (CAN_TypeDef *CANx, FunctionalState NewState) |
Enables or disables the DBG Freeze for CAN. | |
void | CAN_TTComModeCmd (CAN_TypeDef *CANx, FunctionalState NewState) |
Enables or disables the CAN Time TriggerOperation communication mode. | |
uint8_t | CAN_Transmit (CAN_TypeDef *CANx, CanTxMsg *TxMessage) |
Initiates and transmits a CAN frame message. | |
uint8_t | CAN_TransmitStatus (CAN_TypeDef *CANx, uint8_t TransmitMailbox) |
Checks the transmission status of a CAN Frame. | |
void | CAN_CancelTransmit (CAN_TypeDef *CANx, uint8_t Mailbox) |
Cancels a transmit request. | |
void | CAN_Receive (CAN_TypeDef *CANx, uint8_t FIFONumber, CanRxMsg *RxMessage) |
Receives a correct CAN frame. | |
void | CAN_FIFORelease (CAN_TypeDef *CANx, uint8_t FIFONumber) |
Releases the specified receive FIFO. | |
uint8_t | CAN_MessagePending (CAN_TypeDef *CANx, uint8_t FIFONumber) |
Returns the number of pending received messages. | |
uint8_t | CAN_OperatingModeRequest (CAN_TypeDef *CANx, uint8_t CAN_OperatingMode) |
Selects the CAN Operation mode. | |
uint8_t | CAN_Sleep (CAN_TypeDef *CANx) |
Enters the Sleep (low power) mode. | |
uint8_t | CAN_WakeUp (CAN_TypeDef *CANx) |
Wakes up the CAN peripheral from sleep mode . | |
uint8_t | CAN_GetLastErrorCode (CAN_TypeDef *CANx) |
Returns the CANx's last error code (LEC). | |
uint8_t | CAN_GetReceiveErrorCounter (CAN_TypeDef *CANx) |
Returns the CANx Receive Error Counter (REC). | |
uint8_t | CAN_GetLSBTransmitErrorCounter (CAN_TypeDef *CANx) |
Returns the LSB of the 9-bit CANx Transmit Error Counter(TEC). | |
void | CAN_ITConfig (CAN_TypeDef *CANx, uint32_t CAN_IT, FunctionalState NewState) |
Enables or disables the specified CANx interrupts. | |
FlagStatus | CAN_GetFlagStatus (CAN_TypeDef *CANx, uint32_t CAN_FLAG) |
Checks whether the specified CAN flag is set or not. | |
void | CAN_ClearFlag (CAN_TypeDef *CANx, uint32_t CAN_FLAG) |
Clears the CAN's pending flags. | |
ITStatus | CAN_GetITStatus (CAN_TypeDef *CANx, uint32_t CAN_IT) |
Checks whether the specified CANx interrupt has occurred or not. | |
void | CAN_ClearITPendingBit (CAN_TypeDef *CANx, uint32_t CAN_IT) |
Clears the CANx's interrupt pending bits. |
CAN driver modules.
#define IS_CAN_ALL_PERIPH | ( | PERIPH | ) |
(((PERIPH) == CAN1) || \ ((PERIPH) == CAN2))
void CAN_CancelTransmit | ( | CAN_TypeDef * | CANx, | |
uint8_t | Mailbox | |||
) |
Cancels a transmit request.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. | |
Mailbox,: | Mailbox number. |
None |
void CAN_ClearFlag | ( | CAN_TypeDef * | CANx, | |
uint32_t | CAN_FLAG | |||
) |
Clears the CAN's pending flags.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
CAN_FLAG,: | specifies the flag to clear. This parameter can be one of the following values:
|
None |
void CAN_ClearITPendingBit | ( | CAN_TypeDef * | CANx, | |
uint32_t | CAN_IT | |||
) |
Clears the CANx's interrupt pending bits.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
CAN_IT,: | specifies the interrupt pending bit to clear. This parameter can be one of the following values:
|
None |
void CAN_DBGFreeze | ( | CAN_TypeDef * | CANx, | |
FunctionalState | NewState | |||
) |
Enables or disables the DBG Freeze for CAN.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
NewState,: | new state of the CAN peripheral. This parameter can be: ENABLE (CAN reception/transmission is frozen during debug. Reception FIFOs can still be accessed/controlled normally) or DISABLE (CAN is working during debug). |
None |
void CAN_DeInit | ( | CAN_TypeDef * | CANx | ) |
Deinitializes the CAN peripheral registers to their default reset values.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. |
None. |
void CAN_FIFORelease | ( | CAN_TypeDef * | CANx, | |
uint8_t | FIFONumber | |||
) |
Releases the specified receive FIFO.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. | |
FIFONumber,: | FIFO to release, CAN_FIFO0 or CAN_FIFO1. |
None |
void CAN_FilterInit | ( | CAN_FilterInitTypeDef * | CAN_FilterInitStruct | ) |
Configures the CAN reception filter according to the specified parameters in the CAN_FilterInitStruct.
CAN_FilterInitStruct,: | pointer to a CAN_FilterInitTypeDef structure that contains the configuration information. |
None |
FlagStatus CAN_GetFlagStatus | ( | CAN_TypeDef * | CANx, | |
uint32_t | CAN_FLAG | |||
) |
Checks whether the specified CAN flag is set or not.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
CAN_FLAG,: | specifies the flag to check. This parameter can be one of the following values:
|
The | new state of CAN_FLAG (SET or RESET). |
ITStatus CAN_GetITStatus | ( | CAN_TypeDef * | CANx, | |
uint32_t | CAN_IT | |||
) |
Checks whether the specified CANx interrupt has occurred or not.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
CAN_IT,: | specifies the CAN interrupt source to check. This parameter can be one of the following values:
|
The | current state of CAN_IT (SET or RESET). |
uint8_t CAN_GetLastErrorCode | ( | CAN_TypeDef * | CANx | ) |
Returns the CANx's last error code (LEC).
CANx,: | where x can be 1 or 2 to select the CAN peripheral. |
Error | code:
|
uint8_t CAN_GetLSBTransmitErrorCounter | ( | CAN_TypeDef * | CANx | ) |
Returns the LSB of the 9-bit CANx Transmit Error Counter(TEC).
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. |
LSB | of the 9-bit CAN Transmit Error Counter. |
uint8_t CAN_GetReceiveErrorCounter | ( | CAN_TypeDef * | CANx | ) |
Returns the CANx Receive Error Counter (REC).
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. |
CAN | Receive Error Counter. |
uint8_t CAN_Init | ( | CAN_TypeDef * | CANx, | |
CAN_InitTypeDef * | CAN_InitStruct | |||
) |
Initializes the CAN peripheral according to the specified parameters in the CAN_InitStruct.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. | |
CAN_InitStruct,: | pointer to a CAN_InitTypeDef structure that contains the configuration information for the CAN peripheral. |
Constant | indicates initialization succeed which will be CAN_InitStatus_Failed or CAN_InitStatus_Success. |
void CAN_ITConfig | ( | CAN_TypeDef * | CANx, | |
uint32_t | CAN_IT, | |||
FunctionalState | NewState | |||
) |
Enables or disables the specified CANx interrupts.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
CAN_IT,: | specifies the CAN interrupt sources to be enabled or disabled. This parameter can be:
| |
NewState,: | new state of the CAN interrupts. This parameter can be: ENABLE or DISABLE. |
None |
uint8_t CAN_MessagePending | ( | CAN_TypeDef * | CANx, | |
uint8_t | FIFONumber | |||
) |
Returns the number of pending received messages.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. | |
FIFONumber,: | Receive FIFO number, CAN_FIFO0 or CAN_FIFO1. |
NbMessage | : which is the number of pending message. |
uint8_t CAN_OperatingModeRequest | ( | CAN_TypeDef * | CANx, | |
uint8_t | CAN_OperatingMode | |||
) |
Selects the CAN Operation mode.
CAN_OperatingMode,: | CAN Operating Mode. This parameter can be one of CAN_OperatingMode_TypeDef enumeration. |
status | of the requested mode which can be
|
void CAN_Receive | ( | CAN_TypeDef * | CANx, | |
uint8_t | FIFONumber, | |||
CanRxMsg * | RxMessage | |||
) |
Receives a correct CAN frame.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. | |
FIFONumber,: | Receive FIFO number, CAN_FIFO0 or CAN_FIFO1. | |
RxMessage,: | pointer to a structure receive frame which contains CAN Id, CAN DLC, CAN data and FMI number. |
None |
void CAN_SlaveStartBank | ( | uint8_t | CAN_BankNumber | ) |
Select the start bank filter for slave CAN.
CAN_BankNumber,: | Select the start slave bank filter from 1..27. |
None |
uint8_t CAN_Sleep | ( | CAN_TypeDef * | CANx | ) |
Enters the Sleep (low power) mode.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. |
CAN_Sleep_Ok | if sleep entered, CAN_Sleep_Failed otherwise. |
void CAN_StructInit | ( | CAN_InitTypeDef * | CAN_InitStruct | ) |
Fills each CAN_InitStruct member with its default value.
CAN_InitStruct,: | pointer to a CAN_InitTypeDef structure which ill be initialized. |
None |
uint8_t CAN_Transmit | ( | CAN_TypeDef * | CANx, | |
CanTxMsg * | TxMessage | |||
) |
Initiates and transmits a CAN frame message.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
TxMessage,: | pointer to a structure which contains CAN Id, CAN DLC and CAN data. |
The | number of the mailbox that is used for transmission or CAN_TxStatus_NoMailBox if there is no empty mailbox. |
uint8_t CAN_TransmitStatus | ( | CAN_TypeDef * | CANx, | |
uint8_t | TransmitMailbox | |||
) |
Checks the transmission status of a CAN Frame.
CANx,: | where x can be 1 or 2 to select the CAN peripheral. | |
TransmitMailbox,: | the number of the mailbox that is used for transmission. |
CAN_TxStatus_Ok | if the CAN driver transmits the message, CAN_TxStatus_Failed in an other case. |
void CAN_TTComModeCmd | ( | CAN_TypeDef * | CANx, | |
FunctionalState | NewState | |||
) |
Enables or disables the CAN Time TriggerOperation communication mode.
CANx,: | where x can be 1 or 2 to to select the CAN peripheral. | |
NewState,: | Mode new state. This parameter can be: ENABLE or DISABLE. When enabled, Time stamp (TIME[15:0]) value is sent in the last two data bytes of the 8-byte message: TIME[7:0] in data byte 6 and TIME[15:8] in data byte 7. |
None |
uint8_t CAN_WakeUp | ( | CAN_TypeDef * | CANx | ) |
Wakes up the CAN peripheral from sleep mode .
CANx,: | where x can be 1 or 2 to select the CAN peripheral. |
CAN_WakeUp_Ok | if sleep mode left, CAN_WakeUp_Failed otherwise. |