初级会员
- 积分
- 185
- 金钱
- 185
- 注册时间
- 2020-5-21
- 在线时间
- 58 小时
|
1金钱
将官方轮询例程can.c中的CAN_RX0_INT_ENABLE 置为1 开启中断模式,
void USB_LP_CAN1_RX0_IRQHandler(void)
{
uint8_t rxbuf[8];
uint32_t id;
uint8_t ide, rtr, len;
printf("id:%x\r\n", g_canx_rxheader.StdId);
printf("ide:%d\r\n", g_canx_rxheader.IDE);
printf("rtr:%d\r\n", g_canx_rxheader.RTR);
printf("len:%d\r\n", g_canx_rxheader.DLC);
printf("rxbuf[0]:%x\r\n", rxbuf[0]);
printf("rxbuf[1]:%x\r\n", rxbuf[1]);
printf("rxbuf[2]:%x\r\n", rxbuf[2]);
printf("rxbuf[3]:%x\r\n", rxbuf[3]);
printf("rxbuf[4]:%x\r\n", rxbuf[4]);
printf("rxbuf[5]:%x\r\n", rxbuf[5]);
printf("rxbuf[6]:%x\r\n", rxbuf[6]);
printf("rxbuf[7]:%x\r\n", rxbuf[7]);
}
发现串口高频输出打印,应该是等到一帧就打印一帧的内容。是不是还需其他修改,比如添加清除can中断标记
|
|