TC3xx 连续发多帧CAN报文

公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
vito1
Level 1
Level 1
Welcome! 5 replies posted First question asked
之前的应用只发送几个报文很正常,今天测试连续发送100帧(for循环内)时,发现最多只能连续发送40帧,超过40帧就死机了,不知道能从哪个标志上看出原因?如果遇到这种应用有啥好方法吗?请各位大佬指点,谢谢。
0 点赞
4 回复数
harvis
Level 5
Level 5
10 solutions authored First like received First like given
看看CAN控制器的发送能力,比如FIFO大小,波特率等。连续发送可以调整下上一帧发完再发下一帧。通常CPU的速度是远远快过CAN控制器的收发速度。死机的根因可以debug定位下。
0 点赞
vito1
Level 1
Level 1
Welcome! 5 replies posted First question asked
我用了32个发送buffer,想实现发送报文写入到发送buffer之前先查询到有哪个buffer没有挂起(空闲buffer),然后就使用这个buffer去发送,不用去等待一个报文发送完成后再发送下一个。这样可以比较好的利用32个buffer,节省一点cpu的等待时间,但是无论使用fifo,fifo queue,dedicated buffer,三种方式都没有找到方法能查询到实时的空闲buffer。
0 点赞
User22064
Level 5
Level 5
10 sign-ins First like given 5 sign-ins
关注一下
0 点赞
bydhsae
Level 1
Level 1
可以看看error flag是哪里置位了,例程里默认的发送方式是上一帧发送成功,才发送下一帧数据
0 点赞