在进入while循环之前我初始化了can总线,并接着发送一个can数据帧(比如起名为A帧)。在while循环中每隔100ms发送一个can数据帧(起名为B帧)。
我用一个can软件在总线上500ms发一个数据帧(起名为C帧),一直发送。当给开发板上电后,在软件上看到B帧和C帧都发送正常,但是A帧却没有发出来。
后来测试出:当不发送C帧时,即开发板上电后总线上没有数据帧,这时候A帧发送正常。
如果开发板上电后总线上有C帧一直在发送,那么A帧就发布出来了,但是我在can初始化和A帧之间插入一个5ms的延时,这时候A帧就能发出来了。
想不明白为什么。有人试验过或遇到过吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
看错了。。把发送看成接收了。不过道理一样
一周热门 更多>