初级会员 
  
	- 积分
 - 148
 
        - 金钱
 - 148 
 
       - 注册时间
 - 2020-5-21
 
      - 在线时间
 - 62 小时
 
 
 
 | 
 
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中断标记 
 
 
 
 |   
 
 
 
 
 
 |