51单片机上用的是can总线(要求支持300米以上的数据传输)那么他的上位机和下位机的通信协议应该怎么写?还有支持二线传输数据线除了用can总线还可以用什么数据线?(要求支持300米以上的数据传输)我用的是51单片机
參考答案:首先canbus是问答式的通讯方式报文最大长度11char
1仲裁场(共12位)
bit10 bit9 bit8 bit7 bit6
功能编码
bit5 bit4 bit3
目的地址
bit2 bit1 bit0
源插地址
RTR
远程帧
2.控制场
IDE r0 DL3 DL2 DL1 DL0
0 0 数据长度
3.数据场
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
数据帧数据(最长8组)
应答时仲裁场目的地址源地址交换,就是目的地址就是你回答的询问报文中的原地址,当然原地址就是你地址 485总线的通讯距离也在300m以上!485的通讯协议比较灵活!可以自己定值问答式协议!可参考通讯中常用的同步头+数据长度+效验的格式自己设计,
例如:采用0xeb 0x90 同步头
可以给你一份我做过的协议!自己分析一下!不明白给我发邮件!llzyong@sohu.com