请教:关于CAN中断接收数据的问题,请高手们不吝赐教

2019-03-23 16:23发布

请教一个关于于CAN中断接收数据的问题:
在STM32的CAN通信中,采用中断方式接收数据,但发现一个问题,就是 主机发一组数据下去,从机收到后返回一组数据给主机;然后主机就像死机一样不动了。这里猜想应该是产生了中断。然后关闭中断,采用查询的方式读取数据则可以正确读取,不知道怎么回事,求教了。
// 中断函数
void USB_LP_CAN1_RX0_IRQHandler(void)
{
  //u8 rxbuf[8];
  u32 id;
  u8 ide,rtr,len;
        u8 i;
  Can_Rx_Msg(0,&id,&ide,&rtr,&len,CAN_RBuf);
  //CanRxLong = len;
  SYS_Flag.SYS_canrxfg = 1;
        CAN->RF0R = 1<<5;
       
        for(i=0;i<CanRxLong;i++)
          UART1_Send_1Byte(CAN_RBuf[i]);
       
        LED6  ^=1;


此帖出自小平头技术问答