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

pcf2000   2017-3-3 18:28 楼主
请教一个关于于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           UART1_Send_1Byte(CAN_RBuf[i]);
       
        LED6  ^=1;


回复评论 (7)

2推荐 huo_hu 

你没清中断标志吧
点赞  2017-3-4 18:29
引用: huo_hu 发表于 2017-3-4 18:29
你没清中断标志吧

CAN->RF0R = 1<<5;
这句应该是清除中断标记吧
点赞  2017-3-6 10:20
调一下就知道了
点赞  2017-3-7 10:05
仿真的时候看了一下,死在 startup_stm32f10x_ld.s 文件这里了 这是什么问题?! 本帖最后由 pcf2000 于 2017-3-7 17:30 编辑
  • wer.JPG
点赞  2017-3-7 17:26
OK,问题搞定了,多谢指导  
点赞  2017-3-7 18:05
引用: pcf2000 发表于 2017-3-7 18:05
OK,问题搞定了,多谢指导

请问下楼主。你是怎么解决这个问题的。我也遇到一样的问题
点赞  2018-3-15 11:37
引用: Tomas.chen 发表于 2018-3-15 11:37
请问下楼主。你是怎么解决这个问题的。我也遇到一样的问题

代码上没问题,是CAN驱动器IC TAJ1050有问题,换一个就好了
点赞  2018-3-15 12:13
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复