q1e2e3q 发表于 2013-6-22 14:38:18

stm32 自动复位后 对 CAN接收数据的影响

 最近在调试stm32 的IAP 通过CAN来更新程序,发现一个很怪的现象,设置复位深度的不同影响CAN接收数据,但我不知道为什么,找不到具体的原因。第一种方法,是通过置位 NVIC中应用程序中断与复位控制寄存器(AIRCR)的VECTRESET 位(位偏移:0),程序在复位后重新接收数据时有时接收数据时丢掉了一帧数据,比如一行HEX数据分三帧,只接收到了后俩帧,第一帧没收到,不知道为什么;后来把复位设置为另一种模式复位的第二种方法,是置位同一个寄存器中的 SYSRESETREQ位,居然没有出现上面提到的现象,试了很多次,都没有问题,虽然更新程序的问题得到解决,但是不明白所以然,我到底是否接到了数据,还是在接收的过程中第一帧数据被挤掉了还是根本没接到等,先把这些疑问忽略,对于复位深度的设置,为什么截然不同呢?希望知道的大侠给解答一下,不然虽然问题得到解决,感觉不踏实。

q1e2e3q 发表于 2013-6-22 22:33:43

RE:stm32 自动复位后 对 CAN接收数据的影响

版主过来看看啊

发表于 2013-6-24 11:17:13

RE:stm32 自动复位后 对 CAN接收数据的影响

第一组数据是在什么时候发出的?你可以用过CAN总线监听工具,看一下数据,另外,复位以后是不是发生了数据丢失,可以加断点在CAN中断中,看看是否进入了中断。
页: [1]
查看完整版本: stm32 自动复位后 对 CAN接收数据的影响