/** ########################################################################## ** Filename : ** Project : ** Module : ** Processor : ** Version : 1.0 ** Compiler : ** Date/Time : ** Abstract : ** Contents : ** Note : ** -20230602- --V1.0-- --mingyea--- --修改-- ** #########################################################################*/ /*--------------------------------------------------------------------------- - I N C L U D E F I L E S ----------------------------------------------------------------------------*/ #include "can.h" /*--------------------------------------------------------------------------- - D E F I N E S / M A C R O S ----------------------------------------------------------------------------*/ volatile uint8_t TimeOutFlag; /* 定时器超时标志 */ #define TQ_x_7 CAN_SJW_1tq,CAN_BS1_5tq,CAN_BS2_1tq #define TQ_x_8 CAN_SJW_1tq,CAN_BS1_5tq,CAN_BS2_2tq #define TQ_x_9 CAN_SJW_1tq,CAN_BS1_6tq,CAN_BS2_2tq #define TQ_x_10 CAN_SJW_1tq,CAN_BS1_7tq,CAN_BS2_2tq #define TQ_x_12 CAN_SJW_1tq,CAN_BS1_9tq,CAN_BS2_2tq #define TQ_x_13 CAN_SJW_1tq,CAN_BS1_10tq,CAN_BS2_2tq #define TQ_x_14 CAN_SJW_1tq,CAN_BS1_11tq,CAN_BS2_2tq #define TQ_x_15 CAN_SJW_1tq,CAN_BS1_12tq,CAN_BS2_2tq //good timing #define TQ_x_16 CAN_SJW_1tq,CAN_BS1_13tq,CAN_BS2_2tq //good timing #define TQ_x_17 CAN_SJW_1tq,CAN_BS1_14tq,CAN_BS2_2tq //good timing #define TQ_x_18 CAN_SJW_1tq,CAN_BS1_15tq,CAN_BS2_2tq //good timing #define TQ_x_19 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_2tq //good timing #define TQ_x_20 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_3tq //good timing #define TQ_x_21 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_4tq #define TQ_x_22 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_5tq #define TQ_x_23 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_6tq #define TQ_x_24 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_7tq #define TQ_x_25 CAN_SJW_1tq,CAN_BS1_16tq,CAN_BS2_8tq /*--------------------------------------------------------------------------- - T Y P E D E F I N I T I O N S ----------------------------------------------------------------------------*/ volatile uint8_t TimeOutFlag; /* 定时器超时标志 */ /*--------------------------------------------------------------------------- - S T A T I C V A R I A B L E S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- * G L O B A L V A R I A B L E S ----------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------- - C O N S T A N T S ----------------------------------------------------------------------------*/ const tCAN_BaudRate CAN_BaudRateInitTab[] = // CLK=8MHz { {TQ_x_8, 0}, // 1M {TQ_x_9, 0}, // 900K {TQ_x_10, 0}, // 800K {TQ_x_12, 0}, // 666K {TQ_x_13, 0}, // 600K {TQ_x_16, 0}, // 500K {TQ_x_20, 0}, // 400K {TQ_x_9, 2}, // 300K {TQ_x_8, 3}, // 250K {TQ_x_18, 1}, // 225K {TQ_x_10, 3}, // 200K {TQ_x_10, 4}, // 160K {TQ_x_18, 2}, // 150K {TQ_x_8, 6}, // 144K {TQ_x_16, 3}, // 125K {TQ_x_13, 9}, // 120K {TQ_x_20, 3}, // 100K {TQ_x_22, 3}, // 90K {TQ_x_20, 4}, // 80K {TQ_x_18, 5}, // 75K {TQ_x_19, 6}, // 60K {TQ_x_20, 7}, // 50K {TQ_x_20, 9}, // 40K {TQ_x_19, 13}, // 30K {TQ_x_20, 19}, // 20K }; const uint32_t g_can0_baudrate = 500000; /*--------------------------------------------------------------------------- - F U N C T I O N P R O T O T Y P E ----------------------------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/