CAN通讯的byte序和bit序

       听别人说起CAN通讯协议的时候总说到Intel格式和motorola格式的时候。Intel格式如何,Motorola格式又如何?觉得很有必要搞懂这些知识,也看了相关资料,可直到今天还没明白。真是聪明人都是相似的,笨的人则各有各的难处吗?看来我非下水磨工夫不能搞明白了!先讨论最基本的概念吧。

1,CAN先接受到的是低字节还是高字节?

       一个CAN数据包最多有64bit,分成8byte。从第1个bit开始直到第64个bit,从第一个byte开始直到第8个byte。往数据寄存器里写的时候是以字节为单位的。先发送ID然后依次发送数据。在数据链路层还谈不上什么高,低字节。只有bit流,发送端先发送什么,接收端就先接收到什么。

2,intel格式,motorola格式

      就一个不大于8bit且落在同一个字节内的数据而言,从lsb开始到msb依次发送,这是明确的,别无选择。但是当一个数据的bit位落在不同的byte中,就不一定了。有两点值得疑问:

      (1),lsb和msb,谁先被发送?

这是关于字节序的问题。intel格式让数据的较低位的lsb先发送,较高位的msb后发送。motorola格式让较高位的msb先发送,较低位的lsb后发送。

      (2),全部bit是一股脑儿一起发送的,还是先发送部分bit,中间又去发送了其他数据的bit,最后再发送其余的bit?

这是关于bit序的问题。bit是向高字节对齐,还是向低字节对齐。

    

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值