原子哥的CAN例程(回环模式)里面的错误

2019-08-17 05:36发布

       原子哥提前发布的回环模式应该没有严格测试过,前一段时间我发现了中断收发不工作这个问题,发了贴问他,他也忙。。
后来仔细查了下问题是原子哥写中断函数的时候粗心了啊
用void USB_LP_CAN_RX0_IRQHandler(void)替换掉下面的

 void  USB_LP_CAN1_RX0_IRQHandler(void)
  
就可以了。
本来打算写个CAN各种模式的总结的(怎么算ID,怎么过滤等等),先搁着吧
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
cgsz1992
2019-08-17 10:34
回复【2楼】正点原子:
---------------------------------
原子哥,在Can_Tx_Msg函数中好像还有一个错误
if(ide==0) //标准帧 

id&=0x7ff;//取低11位stdid 
id<<=21; 
CAN->sTxMailBox[mbox].TIR&=~0XFFE00000;   
}else //扩展帧 

id&=0X1FFFFFFF;//取低32位extid 
id<<=3; 
//??这里错了吧,怎么是清零低三位??
CAN->sTxMailBox[mbox].TIR&=~0X00000007; 

就上面那一行好像错了吧

一周热门 更多>