采取串行发送,多发送几次,占用时间就长了,使用环境(网络)是否允许再提高一点速率或并行发送呢?我不太熟悉CAN总线,只是这样想想而已,不对就飘过。期待高手的继续指点。
这个问题我之前碰到过。
建议将场数据打包发送,接收后再解包拼接数据。
比如:
发送:12345678
分包:1234 5678
收到后拼包:
12345678
包越短,帧头和帧尾的开销越大,效率越低。大数据时,一定要传大包,还会加入crc之类的校验信息。
单片机传数据一般不会压缩,压缩比传输更占时间。
CAN总线设计的初衷并不是用来传送大量数据的。
其每次8字节的帧格式也是为了快速响应而设计的。
可以考虑其它方式来传送大量数据,如果非要使用CAN总线来完成大量数据传送,只能采取循环发送的方式。