引用: 引用 5 楼 kyzf 的回复:
针对楼主这种情况,我给你定义一种吧(类似于NXP的串口通讯协议格式)
1、1字节的前导码(可以为00,也可以为AA,自己定义)
2、3字节的指令
3、1字节指令的CCS(CCS+CM0+CM1+CM2=0x00)
4、1字节的数据长短LEN(用来标识数据是多少字节)
5、1字节LCS(LEN+LCS=0x00)
6、1-4字节的DATA(具体长度,看你具体发送多少字节的数据)
7、1字节的DCS(DCS+D0+D1+D2+D3=0x00)
8、1字节的后导码(结束码)
引用: 引用楼主 kongfo1019 的回复:
两个单片机相互通讯,数据包 = 3字节指令 + 1~4字节的数据。
一次大概有50个数据包。
一个单片机发送数据包,另外一个接收。
两个单片机都在一块板子内。
请问:这两个串口的程序该怎么设计,才能保证数据不会出错。(对数据的正确性要求很高)。请详细说下程序的架构,谢谢了。
在线等。
引用: 引用楼主 kongfo1019 的回复:
两个单片机相互通讯,数据包 = 3字节指令 + 1~4字节的数据。
一次大概有50个数据包。
一个单片机发送数据包,另外一个接收。
两个单片机都在一块板子内。
请问:这两个串口的程序该怎么设计,才能保证数据不会出错。(对数据的正确性要求很高)。请详细说下程序的架构,谢谢了。
在线等。
引用: 引用 5 楼 kyzf 的回复:
针对楼主这种情况,我给你定义一种吧(类似于NXP的串口通讯协议格式)
1、1字节的前导码(可以为00,也可以为AA,自己定义)
2、3字节的指令
3、1字节指令的CCS(CCS+CM0+CM1+CM2=0x00)
4、1字节的数据长短LEN(用来标识数据是多少字节)
5、1字节LCS(LEN+LCS=0x00)
6、1-4字节的DATA(具体长度,看你具体发送多少字节的数据)
7、1字节的DCS(DCS+D0+D1+D2+D3=0x00)
8、1字节的后导码(结束码)
引用: 引用 8 楼 great_bug 的回复:
引用 5 楼 kyzf 的回复:
针对楼主这种情况,我给你定义一种吧(类似于NXP的串口通讯协议格式)
1、1字节的前导码(可以为00,也可以为AA,自己定义)
2、3字节的指令
3、1字节指令的CCS(CCS+CM0+CM1+CM2=0x00)
4、1字节的数据长短LEN(用来标识数据是多少字节)
5、1字节LCS(LEN+LCS=0x00)
6、1-4字节的DATA(具体长度,看你具体发送多少字节的数据)
7、1字节的DCS(DCS+D0+D1+D2+D3=0x00)
8、1字节的后导码(结束码)
用这么多CS干什么?不费事么?
我估计数据长度都不需要,根据指令字该能确定有多少字节的数据. 所以"3B指令+4B数据+1B检验"足够了
引用: 引用 5 楼 kyzf 的回复:
针对楼主这种情况,我给你定义一种吧(类似于NXP的串口通讯协议格式)
1、1字节的前导码(可以为00,也可以为AA,自己定义)
2、3字节的指令
3、1字节指令的CCS(CCS+CM0+CM1+CM2=0x00)
4、1字节的数据长短LEN(用来标识数据是多少字节)
5、1字节LCS(LEN+LCS=0x00)
6、1-4字节的DATA(具体长度,看你具体发送多少字节的数据)
7、1字节的DCS(DCS+D0+D1+D2+D3=0x00)
8、1字节的后导码(结束码)
引用: 引用楼主 kongfo1019 的回复:
两个单片机相互通讯,数据包 = 3字节指令 + 1~4字节的数据。
一次大概有50个数据包。
一个单片机发送数据包,另外一个接收。
两个单片机都在一块板子内。
请问:这两个串口的程序该怎么设计,才能保证数据不会出错。(对数据的正确性要求很高)。请详细说下程序的架构,谢谢了。
在线等。
引用: 引用 5 楼 kyzf 的回复:
针对楼主这种情况,我给你定义一种吧(类似于NXP的串口通讯协议格式)
1、1字节的前导码(可以为00,也可以为AA,自己定义)
2、3字节的指令
3、1字节指令的CCS(CCS+CM0+CM1+CM2=0x00)
4、1字节的数据长短LEN(用来标识数据是多少字节)
5、1字节LCS(LEN+LCS=0x00)
6、1-4字节的DATA(具体长度,看你具体发送多少字节的数据)
7、1字节的DCS(DCS+D0+D1+D2+D3=0x00)
8、1字节的后导码(结束码)