老古开发网首页
导航:老古开发网首页文章索引索引第2535页文章分类单片机第48页→[c51单片机实用通信协议]
| -文章搜索 - 最新文章 - |

第2985篇:c51单片机实用通信协议

发布时间:2006年10月15日 点击次数:2432
来源:   作者:
 
一、基本格式:

通信头->巴克码->地址字->长度字->命令字->信息位->校准字

1. 通信头:占1~8个字节,表通信开始(0x00、0xff不能用作通信头);

2.巴克码:占1字节,一般为0x72,表通信头结束;

3.地址字:表终端的地址,占1字节(0x00作为广播地址);

4.长度字:占1字节,表示从地址字到信息位之间的字节数;

5.命令字:占1字节,指示终端的不同操作;

6.信息位:不定长,从0~252字节;

7.校验位:两个字节,采用和校验及CRC校验。

二、应答

1.如果终端接收正确,则应答ACK;如果终端接收错误,则应答NAK;

2.发送方收到ACK,此次通信结束;

3.发送方收到NAK,重发刚才的命令字(最多7次);

4.如果发送方发完数据后无应答,隔0.5~1S后重发(最多7次)。

三、ACK/NAK的格式

通信头->巴克码->地址字->长度字->命令字->0x06、0x06、、0x06(1~8个)

(若信息位长时,分包传输,信息位的第一位是包号0x01,最后1包为0xff)

欢迎进入老古论坛进行讨论
[单片机] 相关文章:
做单片机开发,必须跳出芯片型号
简介:
很多人在谈单片机开发时,经常会将重点放在某一款芯片上,其实这是非常不理智的一种做法,芯片只是一种工具,方法才是根本。在做项目的时候,应该关注的是项目的功能和性能要求,然后采用反推法来分析要实现这些功能需要什么样的资源,采用什么方法或算法,这才是关键!特别是在解决各种问题时,设计思想,原理和方法是最重要的,而且是通用的,只要确定了思路和方法,用何种MCU只是实现和表达的方法不同而已。因此,我个人认为,MCU本身的资料若不做项目是完全不需要看的,毫无意义,但是,一些理论上的知识和基本知识则是必须要......

用keil计算延时的方法
关于I/O口上拉电阻阻值问题
什么是单片机,单片机有什么用
为什么51系列单片机常用11.0592MHz的晶振设计
 
下一个:[单片机]KeilC51高级编程
简介:
第一节 绝对地址访问 C51 提供了三种访问绝对地址的方法: 1. 绝对宏: 在程序中,用“#include<absacc.h>”即可使用其中定义的宏来访问绝对地址,包括: CBYTE、XBYTE、PWORD、DBYTE、CWORD、XWORD、PBYTE、DWORD 具体使用可看一看absacc.h便知 例如: rval=CBYTE[0x0002];指向程序存贮器的0002h地址 rval=XWORD [0x0002];指向外RAM的0004h地址 ......

上一个:[综合电子]上拉电阻下拉电阻的总结

老古开发网版权所有 2006年9月 asp.Net V2.0 设计:老古
页面缓存:30分钟 执行时间:47毫秒