64 #define TEST_CCAN_BAUD_RATE 500000
77 uint32_t pClk, div, quanta, segs, seg1, seg2, clk_per_bit, can_sjw;
81 clk_per_bit = pClk / baud_rate;
83 for (div = 0; div <= 15; div++) {
84 for (quanta = 1; quanta <= 32; quanta++) {
85 for (segs = 3; segs <= 17; segs++) {
86 if (clk_per_bit == (segs * quanta * (div + 1))) {
90 can_sjw = seg1 > 3 ? 3 : seg1;
91 can_api_timing_cfg[0] = div;
92 can_api_timing_cfg[1] =
93 ((quanta - 1) & 0x3F) | (can_sjw & 0x03) << 6 | (seg1 & 0x0F) << 8 | (seg2 & 0x07) << 12;
106 msg_obj.
msgobj = msg_obj_num;
109 if (msg_obj_num == 1) {
166 NVIC_EnableIRQ(CAN_IRQn);
173 msg_obj.
data[0] =
'T';
174 msg_obj.
data[1] =
'E';
175 msg_obj.
data[2] =
'S';
176 msg_obj.
data[3] =
'T';
182 msg_obj.
mask = 0x700;