MG32F157 Standard Peripherals Firmware Library
Data Structures | Macros | Functions
mg32f157_can.h File Reference

This file contains all the functions prototypes for the CAN firmware library. More...

#include "mg32f157.h"

Go to the source code of this file.

Data Structures

struct  CAN_InitTypeDef
 CAN Init structure definition. More...
 
struct  CANFD_InitTypeDef
 CANFD Init structure definition. More...
 
struct  CAN_FilterInitTypeDef
 CAN Filter Config structure definition. More...
 
struct  CAN_Msg
 CAN Message structure definition. More...
 
struct  CANFD_Msg
 CANFD Message structure definition. More...
 

Macros

#define IS_CAN_ALL_PERIPH(PERIPH)   ((PERIPH) == CAN1)
 
#define CAN_Mode_Normal   ((uint8_t)0x00)
 
#define CAN_Mode_Silent   ((uint8_t)0x01)
 
#define CAN_Mode_LoopBack   ((uint8_t)0x11)
 
#define CAN_Mode_LoopBack_Silent   ((uint8_t)0x13)
 
#define CAN_Sample_Once   ((uint8_t)0x00)
 
#define CAN_Sample_Three   ((uint8_t)0x01)
 
#define IS_CAN_PRESCALER(PRESCALER)   (((PRESCALER) >= 2) && ((PRESCALER) <= 128) && (!(PRESCALER % 2)))
 
#define CAN_SJW_1tq   ((uint8_t)0x00)
 
#define CAN_SJW_2tq   ((uint8_t)0x01)
 
#define CAN_SJW_3tq   ((uint8_t)0x02)
 
#define CAN_SJW_4tq   ((uint8_t)0x03)
 
#define CAN_SEG1_1tq   ((uint8_t)0x00)
 
#define CAN_SEG1_2tq   ((uint8_t)0x01)
 
#define CAN_SEG1_3tq   ((uint8_t)0x02)
 
#define CAN_SEG1_4tq   ((uint8_t)0x03)
 
#define CAN_SEG1_5tq   ((uint8_t)0x04)
 
#define CAN_SEG1_6tq   ((uint8_t)0x05)
 
#define CAN_SEG1_7tq   ((uint8_t)0x06)
 
#define CAN_SEG1_8tq   ((uint8_t)0x07)
 
#define CAN_SEG1_9tq   ((uint8_t)0x08)
 
#define CAN_SEG1_10tq   ((uint8_t)0x09)
 
#define CAN_SEG1_11tq   ((uint8_t)0x0A)
 
#define CAN_SEG1_12tq   ((uint8_t)0x0B)
 
#define CAN_SEG1_13tq   ((uint8_t)0x0C)
 
#define CAN_SEG1_14tq   ((uint8_t)0x0D)
 
#define CAN_SEG1_15tq   ((uint8_t)0x0E)
 
#define CAN_SEG1_16tq   ((uint8_t)0x0F)
 
#define CAN_SEG2_1tq   ((uint8_t)0x00)
 
#define CAN_SEG2_2tq   ((uint8_t)0x01)
 
#define CAN_SEG2_3tq   ((uint8_t)0x02)
 
#define CAN_SEG2_4tq   ((uint8_t)0x03)
 
#define CAN_SEG2_5tq   ((uint8_t)0x04)
 
#define CAN_SEG2_6tq   ((uint8_t)0x05)
 
#define CAN_SEG2_7tq   ((uint8_t)0x06)
 
#define CAN_SEG2_8tq   ((uint8_t)0x07)
 
#define IS_CANFD_ARBITRATION_PRESCALER(PRESCALER)   (((PRESCALER) >= 1) && ((PRESCALER) <= 2048) && (!(PRESCALER % 2)))
 
#define CANFD_ArbitrationSJW_1tq   ((uint8_t)0x00)
 
#define CANFD_ArbitrationSJW_2tq   ((uint8_t)0x01)
 
#define CANFD_ArbitrationSJW_3tq   ((uint8_t)0x02)
 
#define CANFD_ArbitrationSJW_4tq   ((uint8_t)0x03)
 
#define CANFD_ArbitrationSJW_5tq   ((uint8_t)0x04)
 
#define CANFD_ArbitrationSJW_6tq   ((uint8_t)0x05)
 
#define CANFD_ArbitrationSJW_7tq   ((uint8_t)0x06)
 
#define CANFD_ArbitrationSJW_8tq   ((uint8_t)0x07)
 
#define CANFD_ArbitrationSJW_9tq   ((uint8_t)0x08)
 
#define CANFD_ArbitrationSJW_10tq   ((uint8_t)0x09)
 
#define CANFD_ArbitrationSJW_11tq   ((uint8_t)0x0A)
 
#define CANFD_ArbitrationSJW_12tq   ((uint8_t)0x0B)
 
#define CANFD_ArbitrationSJW_13tq   ((uint8_t)0x0C)
 
#define CANFD_ArbitrationSJW_14tq   ((uint8_t)0x0D)
 
#define CANFD_ArbitrationSJW_15tq   ((uint8_t)0x0E)
 
#define CANFD_ArbitrationSJW_16tq   ((uint8_t)0x0F)
 
#define CANFD_ArbitrationSEG1_1tq   ((uint8_t)0x00)
 
#define CANFD_ArbitrationSEG1_2tq   ((uint8_t)0x01)
 
#define CANFD_ArbitrationSEG1_3tq   ((uint8_t)0x02)
 
#define CANFD_ArbitrationSEG1_4tq   ((uint8_t)0x03)
 
#define CANFD_ArbitrationSEG1_5tq   ((uint8_t)0x04)
 
#define CANFD_ArbitrationSEG1_6tq   ((uint8_t)0x05)
 
#define CANFD_ArbitrationSEG1_7tq   ((uint8_t)0x06)
 
#define CANFD_ArbitrationSEG1_8tq   ((uint8_t)0x07)
 
#define CANFD_ArbitrationSEG1_9tq   ((uint8_t)0x08)
 
#define CANFD_ArbitrationSEG1_10tq   ((uint8_t)0x09)
 
#define CANFD_ArbitrationSEG1_11tq   ((uint8_t)0x0A)
 
#define CANFD_ArbitrationSEG1_12tq   ((uint8_t)0x0B)
 
#define CANFD_ArbitrationSEG1_13tq   ((uint8_t)0x0C)
 
#define CANFD_ArbitrationSEG1_14tq   ((uint8_t)0x0D)
 
#define CANFD_ArbitrationSEG1_15tq   ((uint8_t)0x0E)
 
#define CANFD_ArbitrationSEG1_16tq   ((uint8_t)0x0F)
 
#define CANFD_ArbitrationSEG1_17tq   ((uint8_t)0x10)
 
#define CANFD_ArbitrationSEG1_18tq   ((uint8_t)0x11)
 
#define CANFD_ArbitrationSEG1_19tq   ((uint8_t)0x12)
 
#define CANFD_ArbitrationSEG1_20tq   ((uint8_t)0x13)
 
#define CANFD_ArbitrationSEG1_21tq   ((uint8_t)0x14)
 
#define CANFD_ArbitrationSEG1_22tq   ((uint8_t)0x15)
 
#define CANFD_ArbitrationSEG1_23tq   ((uint8_t)0x16)
 
#define CANFD_ArbitrationSEG1_24tq   ((uint8_t)0x17)
 
#define CANFD_ArbitrationSEG1_25tq   ((uint8_t)0x18)
 
#define CANFD_ArbitrationSEG1_26tq   ((uint8_t)0x19)
 
#define CANFD_ArbitrationSEG1_27tq   ((uint8_t)0x1A)
 
#define CANFD_ArbitrationSEG1_28tq   ((uint8_t)0x1B)
 
#define CANFD_ArbitrationSEG1_29tq   ((uint8_t)0x1C)
 
#define CANFD_ArbitrationSEG1_30tq   ((uint8_t)0x1D)
 
#define CANFD_ArbitrationSEG1_31tq   ((uint8_t)0x1E)
 
#define CANFD_ArbitrationSEG1_32tq   ((uint8_t)0x1F)
 
#define CANFD_ArbitrationSEG1_33tq   ((uint8_t)0x20)
 
#define CANFD_ArbitrationSEG1_34tq   ((uint8_t)0x21)
 
#define CANFD_ArbitrationSEG1_35tq   ((uint8_t)0x22)
 
#define CANFD_ArbitrationSEG1_36tq   ((uint8_t)0x23)
 
#define CANFD_ArbitrationSEG1_37tq   ((uint8_t)0x24)
 
#define CANFD_ArbitrationSEG1_38tq   ((uint8_t)0x25)
 
#define CANFD_ArbitrationSEG1_39tq   ((uint8_t)0x26)
 
#define CANFD_ArbitrationSEG1_40tq   ((uint8_t)0x27)
 
#define CANFD_ArbitrationSEG1_41tq   ((uint8_t)0x28)
 
#define CANFD_ArbitrationSEG1_42tq   ((uint8_t)0x29)
 
#define CANFD_ArbitrationSEG1_43tq   ((uint8_t)0x2A)
 
#define CANFD_ArbitrationSEG1_44tq   ((uint8_t)0x2B)
 
#define CANFD_ArbitrationSEG1_45tq   ((uint8_t)0x2C)
 
#define CANFD_ArbitrationSEG1_46tq   ((uint8_t)0x2D)
 
#define CANFD_ArbitrationSEG1_47tq   ((uint8_t)0x2E)
 
#define CANFD_ArbitrationSEG1_48tq   ((uint8_t)0x2F)
 
#define CANFD_ArbitrationSEG1_49tq   ((uint8_t)0x30)
 
#define CANFD_ArbitrationSEG1_50tq   ((uint8_t)0x31)
 
#define CANFD_ArbitrationSEG1_51tq   ((uint8_t)0x32)
 
#define CANFD_ArbitrationSEG1_52tq   ((uint8_t)0x33)
 
#define CANFD_ArbitrationSEG1_53tq   ((uint8_t)0x34)
 
#define CANFD_ArbitrationSEG1_54tq   ((uint8_t)0x35)
 
#define CANFD_ArbitrationSEG1_55tq   ((uint8_t)0x36)
 
#define CANFD_ArbitrationSEG1_56tq   ((uint8_t)0x37)
 
#define CANFD_ArbitrationSEG1_57tq   ((uint8_t)0x38)
 
#define CANFD_ArbitrationSEG1_58tq   ((uint8_t)0x39)
 
#define CANFD_ArbitrationSEG1_59tq   ((uint8_t)0x3A)
 
#define CANFD_ArbitrationSEG1_60tq   ((uint8_t)0x3B)
 
#define CANFD_ArbitrationSEG1_61tq   ((uint8_t)0x3C)
 
#define CANFD_ArbitrationSEG1_62tq   ((uint8_t)0x3D)
 
#define CANFD_ArbitrationSEG1_63tq   ((uint8_t)0x3E)
 
#define CANFD_ArbitrationSEG1_64tq   ((uint8_t)0x3F)
 
#define CANFD_ArbitrationSEG2_1tq   ((uint8_t)0x00)
 
#define CANFD_ArbitrationSEG2_2tq   ((uint8_t)0x01)
 
#define CANFD_ArbitrationSEG2_3tq   ((uint8_t)0x02)
 
#define CANFD_ArbitrationSEG2_4tq   ((uint8_t)0x03)
 
#define CANFD_ArbitrationSEG2_5tq   ((uint8_t)0x04)
 
#define CANFD_ArbitrationSEG2_6tq   ((uint8_t)0x05)
 
#define CANFD_ArbitrationSEG2_7tq   ((uint8_t)0x06)
 
#define CANFD_ArbitrationSEG2_8tq   ((uint8_t)0x07)
 
#define CANFD_ArbitrationSEG2_9tq   ((uint8_t)0x08)
 
#define CANFD_ArbitrationSEG2_10tq   ((uint8_t)0x09)
 
#define CANFD_ArbitrationSEG2_11tq   ((uint8_t)0x0A)
 
#define CANFD_ArbitrationSEG2_12tq   ((uint8_t)0x0B)
 
#define CANFD_ArbitrationSEG2_13tq   ((uint8_t)0x0C)
 
#define CANFD_ArbitrationSEG2_14tq   ((uint8_t)0x0D)
 
#define CANFD_ArbitrationSEG2_15tq   ((uint8_t)0x0E)
 
#define CANFD_ArbitrationSEG2_16tq   ((uint8_t)0x0F)
 
#define IS_CANFD_DATA_PRESCALER(PRESCALER)   (((PRESCALER) >= 1) && ((PRESCALER) <= 64) && (!(PRESCALER % 2)))
 
#define CANFD_DataSJW_1tq   ((uint8_t)0x00)
 
#define CANFD_DataSJW_2tq   ((uint8_t)0x01)
 
#define CANFD_DataSJW_3tq   ((uint8_t)0x02)
 
#define CANFD_DataSJW_4tq   ((uint8_t)0x03)
 
#define CANFD_DataSJW_5tq   ((uint8_t)0x04)
 
#define CANFD_DataSJW_6tq   ((uint8_t)0x05)
 
#define CANFD_DataSJW_7tq   ((uint8_t)0x06)
 
#define CANFD_DataSJW_8tq   ((uint8_t)0x07)
 
#define CANFD_DataSJW_9tq   ((uint8_t)0x08)
 
#define CANFD_DataSJW_10tq   ((uint8_t)0x09)
 
#define CANFD_DataSJW_11tq   ((uint8_t)0x0A)
 
#define CANFD_DataSJW_12tq   ((uint8_t)0x0B)
 
#define CANFD_DataSJW_13tq   ((uint8_t)0x0C)
 
#define CANFD_DataSJW_14tq   ((uint8_t)0x0D)
 
#define CANFD_DataSJW_15tq   ((uint8_t)0x0E)
 
#define CANFD_DataSJW_16tq   ((uint8_t)0x0F)
 
#define CANFD_DataSEG1_1tq   ((uint8_t)0x00)
 
#define CANFD_DataSEG1_2tq   ((uint8_t)0x01)
 
#define CANFD_DataSEG1_3tq   ((uint8_t)0x02)
 
#define CANFD_DataSEG1_4tq   ((uint8_t)0x03)
 
#define CANFD_DataSEG1_5tq   ((uint8_t)0x04)
 
#define CANFD_DataSEG1_6tq   ((uint8_t)0x05)
 
#define CANFD_DataSEG1_7tq   ((uint8_t)0x06)
 
#define CANFD_DataSEG1_8tq   ((uint8_t)0x07)
 
#define CANFD_DataSEG1_9tq   ((uint8_t)0x08)
 
#define CANFD_DataSEG1_10tq   ((uint8_t)0x09)
 
#define CANFD_DataSEG1_11tq   ((uint8_t)0x0A)
 
#define CANFD_DataSEG1_12tq   ((uint8_t)0x0B)
 
#define CANFD_DataSEG1_13tq   ((uint8_t)0x0C)
 
#define CANFD_DataSEG1_14tq   ((uint8_t)0x0D)
 
#define CANFD_DataSEG1_15tq   ((uint8_t)0x0E)
 
#define CANFD_DataSEG1_16tq   ((uint8_t)0x0F)
 
#define CANFD_DataSEG1_17tq   ((uint8_t)0x10)
 
#define CANFD_DataSEG1_18tq   ((uint8_t)0x11)
 
#define CANFD_DataSEG1_19tq   ((uint8_t)0x12)
 
#define CANFD_DataSEG1_20tq   ((uint8_t)0x13)
 
#define CANFD_DataSEG1_21tq   ((uint8_t)0x14)
 
#define CANFD_DataSEG1_22tq   ((uint8_t)0x15)
 
#define CANFD_DataSEG1_23tq   ((uint8_t)0x16)
 
#define CANFD_DataSEG1_24tq   ((uint8_t)0x17)
 
#define CANFD_DataSEG1_25tq   ((uint8_t)0x18)
 
#define CANFD_DataSEG1_26tq   ((uint8_t)0x19)
 
#define CANFD_DataSEG1_27tq   ((uint8_t)0x1A)
 
#define CANFD_DataSEG1_28tq   ((uint8_t)0x1B)
 
#define CANFD_DataSEG1_29tq   ((uint8_t)0x1C)
 
#define CANFD_DataSEG1_30tq   ((uint8_t)0x1D)
 
#define CANFD_DataSEG1_31tq   ((uint8_t)0x1E)
 
#define CANFD_DataSEG1_32tq   ((uint8_t)0x1F)
 
#define CANFD_DataSEG2_1tq   ((uint8_t)0x00)
 
#define CANFD_DataSEG2_2tq   ((uint8_t)0x01)
 
#define CANFD_DataSEG2_3tq   ((uint8_t)0x02)
 
#define CANFD_DataSEG2_4tq   ((uint8_t)0x03)
 
#define CANFD_DataSEG2_5tq   ((uint8_t)0x04)
 
#define CANFD_DataSEG2_6tq   ((uint8_t)0x05)
 
#define CANFD_DataSEG2_7tq   ((uint8_t)0x06)
 
#define CANFD_DataSEG2_8tq   ((uint8_t)0x07)
 
#define IS_CANFD_TransmateDelayCompensationOffset(OFFSET)   (((OFFSET) >= 1) && ((OFFSET) <= 128))
 
#define CANFD_ISOFrameFormatSection_BoschCAN   ((uint8_t)0x00)
 
#define CANFD_ISOFrameFormatSection_ISO11898   ((uint8_t)0x01)
 
#define CANFD_ArbitrationTimingSection_BT   ((uint8_t)0x00)
 
#define CANFD_ArbitrationTimingSection_NBT   ((uint8_t)0x01)
 
#define CANFD_DataTimingSection_HOLD   ((uint8_t)0x00)
 
#define CANFD_DataTimingSection_DBT   ((uint8_t)0x01)
 
#define CANFD_FrameFormat_Classic   ((uint8_t)0x00)
 
#define CANFD_FrameFormat_FD   ((uint8_t)0x01)
 
#define CAN_Filter_Mode_Dual   ((uint8_t)0x00)
 
#define CAN_Filter_Mode_Single   ((uint8_t)0x01)
 
#define CAN_Filter_FrameFormat_Standard   ((uint8_t)0x00)
 
#define CAN_Filter_FrameFormat_Extended   ((uint8_t)0x01)
 
#define CAN_Filter_Type_Data   ((uint8_t)0x00)
 
#define CAN_Filter_Type_Remote   ((uint8_t)0x01)
 
#define CAN_IDType_Standard   ((uint8_t)0x00)
 
#define CAN_IDType_Extended   ((uint8_t)0x01)
 
#define CAN_FrameType_Data   ((uint8_t)0x00)
 
#define CAN_FrameType_Remote   ((uint8_t)0x01)
 
#define CAN_FrameFormat_Class   ((uint8_t)0x00)
 
#define CAN_FrameFormat_FD   ((uint8_t)0x01)
 
#define CAN_BitRateSwitch_WithoutSwitch   ((uint8_t)0x00)
 
#define CAN_BitRateSwitch_Switch   ((uint8_t)0x01)
 
#define CAN_ErrorStateIndicator_PassiveErrorNode   ((uint8_t)0x00)
 
#define CAN_ErrorStateIndicator_ActiveErrorNode   ((uint8_t)0x01)
 
#define CAN_Cmd_TransmitAbort   ((uint32_t)0x01U << 9)
 
#define CAN_Cmd_TransmitStart   ((uint32_t)0x02U << 9)
 
#define CAN_Cmd_TransmitSingle   ((uint32_t)0x03U << 9)
 
#define CAN_TransmitMode_Retransmission   ((uint32_t)0x02U << 9)
 
#define CAN_TransmitMode_Single   ((uint32_t)0x03U << 9)
 
#define CAN_IT_DOI   ((uint32_t)0x01U << 0)
 
#define CAN_IT_BEI   ((uint32_t)0x01U << 1)
 
#define CAN_IT_TI   ((uint32_t)0x01U << 2)
 
#define CAN_IT_RI   ((uint32_t)0x01U << 3)
 
#define CAN_IT_EPI   ((uint32_t)0x01U << 4)
 
#define CAN_IT_EWI   ((uint32_t)0x01U << 5)
 
#define CAN_IT_ALI   ((uint32_t)0x01U << 6)
 
#define CAN_Flag_DOI   ((uint32_t)0x01U << 24)
 
#define CAN_Flag_BEI   ((uint32_t)0x01U << 25)
 
#define CAN_Flag_TI   ((uint32_t)0x01U << 26)
 
#define CAN_Flag_RI   ((uint32_t)0x01U << 27)
 
#define CAN_Flag_EPI   ((uint32_t)0x01U << 28)
 
#define CAN_Flag_EWI   ((uint32_t)0x01U << 29)
 
#define CAN_Flag_ALI   ((uint32_t)0x01U << 30)
 
#define CAN_Status_BS   ((uint32_t)0x01U << 16)
 
#define CAN_Status_ES   ((uint32_t)0x01U << 17)
 
#define CAN_Status_TS   ((uint32_t)0x01U << 18)
 
#define CAN_Status_RS   ((uint32_t)0x01U << 19)
 
#define CAN_Status_TBS   ((uint32_t)0x01U << 21)
 
#define CAN_Status_DSO   ((uint32_t)0x01U << 22)
 
#define CAN_Status_RBS   ((uint32_t)0x01U << 23)
 
#define CAN_Error_Code_BER   ((uint32_t)CAN_ECC_BER)
 
#define CAN_Error_Code_STFER   ((uint32_t)CAN_ECC_STFER)
 
#define CAN_Error_Code_CRCER   ((uint32_t)CAN_ECC_CRCER)
 
#define CAN_Error_Code_FRMER   ((uint32_t)CAN_ECC_FRMER)
 
#define CAN_Error_Code_ACKER   ((uint32_t)CAN_ECC_ACKER)
 
#define CAN_Error_Code_EDIR   ((uint32_t)CAN_ECC_EDIR)
 
#define CAN_Error_Code_TXWRN   ((uint32_t)CAN_ECC_TXWRN)
 
#define CAN_Error_Code_RXERR   ((uint32_t)CAN_ECC_RXERR)
 
#define CANFD_Status_Init   ((uint32_t)0x00U << 14)
 
#define CANFD_Status_Idle   ((uint32_t)0x01U << 14)
 
#define CANFD_Status_Recv   ((uint32_t)0x02U << 14)
 
#define CANFD_Status_Send   ((uint32_t)0x03U << 14)
 
#define CANFD_Error_BITERR   ((uint32_t)0x01U << 8)
 
#define CANFD_Error_CRCERR   ((uint32_t)0x01U << 9)
 
#define CANFD_Error_FRMERR   ((uint32_t)0x01U << 10)
 
#define CANFD_Error_STFERR   ((uint32_t)0x01U << 11)
 

Functions

void CAN_DeInit (CAN_TypeDef *CANx)
 Deinitializes the CAN peripheral registers to their default reset values. More...
 
void CAN_Init (CAN_TypeDef *CANx, CAN_InitTypeDef *CAN_InitStruct)
 Initializes the CAN peripheral according to the specified parameters in the CAN_InitStruct. More...
 
void CAN_StructInit (CAN_InitTypeDef *CAN_InitStruct)
 Fills each CAN_InitStruct member with its default value. More...
 
void CAN_Transmit (CAN_TypeDef *CANx, CAN_Msg *Message, uint32_t AutoRetransmissionEnable)
 Initiates the transmission of a message in class mode. More...
 
void CAN_Receive (CAN_TypeDef *CANx, CAN_Msg *RxMessage)
 Receives a message in class mode. More...
 
void CANFD_Init (CAN_TypeDef *CANx, CANFD_InitTypeDef *CANFD_InitStruct)
 Initializes the CAN peripheral to FD Mode according to the specified parameters in the CAN_InitStruct. More...
 
void CANFD_StructInit (CANFD_InitTypeDef *CANFD_InitStruct)
 Fills each CANFD_InitTypeDef member with its default value. More...
 
void CANFD_Transmit (CAN_TypeDef *CANx, CANFD_Msg *TxMessage, uint32_t AutoRetransmissionEnable)
 Initiates the transmission of a message in FD mode. More...
 
void CANFD_Receive (CAN_TypeDef *CANx, CANFD_Msg *RxMessage)
 Receives a message in FD mode. More...
 
uint8_t CANFD_GetArbitrationErrorCount (CAN_TypeDef *CANx)
 Checks CAN arbitrations error count. More...
 
uint8_t CANFD_GetDataErrorCount (CAN_TypeDef *CANx)
 Checks CAN data error count. More...
 
FlagStatus CANFD_GetStatus (CAN_TypeDef *CANx, uint32_t CANFD_Status)
 Checks CAN FD running status. More...
 
FlagStatus CANFD_GetError (CAN_TypeDef *CANx, uint32_t CANFD_Error)
 Checks CAN FD error. More...
 
uint8_t CANFD_GetSecondarySamplePosition (CAN_TypeDef *CANx)
 Checks CAN FD Secondary Sample Position. More...
 
void CAN_FilterInit (CAN_TypeDef *CANx, CAN_FilterInitTypeDef *CAN_FilterInitStruct)
 Initializes the CAN peripheral according to the specified. parameters in the CAN_FilterInitTypeDef. More...
 
void CAN_FilterStructInit (CAN_FilterInitTypeDef *CAN_FilterInitStruct)
 Fills each CANFD_InitStruct member with its default value. More...
 
void CAN_Reset (CAN_TypeDef *CANx, FunctionalState NewState)
 Set peripheral CAN to reset mode. More...
 
void CAN_SendCmd (CAN_TypeDef *CANx, uint32_t CAN_Cmd)
 Use peripheral CAN to send the transmission command. More...
 
void CAN_ITConfig (CAN_TypeDef *CANx, uint32_t CAN_IT, FunctionalState NewState)
 Enables or disables the specified CANx interrupts. More...
 
void CAN_ClearITPendingBit (CAN_TypeDef *CANx, uint32_t CAN_Flag)
 Clears the CAN's pending flags. More...
 
FlagStatus CAN_GetITStatus (CAN_TypeDef *CANx, uint32_t CAN_Flag)
 Checks whether the specified CAN flag is set or not. More...
 
FlagStatus CAN_GetFlagStatus (CAN_TypeDef *CANx, uint32_t CAN_Status)
 Checks whether the specified CAN status flag is set or not. More...
 
uint8_t CAN_GetArbitrationLosePosition (CAN_TypeDef *CANx)
 Checks CAN arbitrations lost capture position. More...
 
uint8_t CAN_GetMessageCount (CAN_TypeDef *CANx)
 Get CAN number of framed in the rxbuf. More...
 
uint8_t CAN_GetTransmitErrorCount (CAN_TypeDef *CANx)
 Get CAN Transmit Error Count. More...
 
uint8_t CAN_GetReceiveErrorCount (CAN_TypeDef *CANx)
 Get CAN Receive Error Count. More...
 

Detailed Description

This file contains all the functions prototypes for the CAN firmware library.

Author
MegawinTech Application Team
Version
V0.0.4
Date
16-June-2023