三九宝宝网宝宝教育教学论文

如何设计单片机常用通信协议论文

02月10日 编辑 39baobao.com

[求助:各国语言的日常用语谢谢]英国,澳大利亚,美国,加拿大的日常用语: 1. Hello 2. gladto meet you. 3. I am going to leave,chat with you next time, thank you. 4. I am going to having my meal. 5. I a...+阅读

常用的通信协议 一般包括 开头检验 + 地址 +功能码+数据 + 校验

下面一一介绍,介绍步骤根据单片机收到数据后的 判断流程进行;

1. 校验。接收到一帧数据之后,首先要根据校验的算法,对除去校验的数进行 计算校验值,然后和 接收到的校验值进行比较,如果相同就进行下一步 判断, 不相同,说明接受数据错误;

2. 开头检验一般是 第一字节的数据是个固定值,,单片机接收一帧数据之后 首先判断第一个字节是不是那个固定值,是的话,再进行后面的判断;

3. 地址。经过前两步校验之后,就说明数据接受没有问题,那么这里要判断这个数据是不是发给当前单片机的,,在通信里,每个单片机都会有个固定的地址,一般是通过拨码开关来设置,单片机读取拨码开关的值作为自己的固定地址。在这一步,就判断 地址位上的数据是不是和单片机的固定地址相同,如果相同就进入下一步判断。不相同就表示不是发给这个单片机的;

4. 功能码。在判断是发送给这个单片机的数据之后,要根据功能码位的数据 来判断,这一帧数据是什么作用的。 功能码是要在通信协议上规定好的, 上位机和下位机要严格按照通信协议执行。比如,通信协议设定功能码0x01 是读取当前单片机 检测的外部信号的运行状态,那么 下位机接收到0x01的功能码 就要 把当前的外部信号的运行状态 发送出去。

5. 数据 。 这里就是根据功能码来判断是用来做什么的了,如果功能码是表示要写入数据,就是向下位机写入数据,那么 数据位可以是写入的地址,和写入的数据内容。

以下为关联文档:

赞美朋友家的宝贝常用哪些语言大全【赞美】发自内心的对于美好事物表示肯定的一种表达。 许多父母对孩子期望很高,却又吝啬赞美自己的孩子。他们常常摆出一副长者的面孔责备孩子,往往忽视了赞美所带来的奇妙教...

常用的Web架构开发语言有哪几种首先我想说明一下,我们通常说的js不是框架,是语言,即javascript,据最新世界编程语言排行榜来看,已经上升到了第7位,发展迅猛,其标准是ECMAScript,现在基本上是基于ECMAScript5。jQue...

用汇编语言做单片机时钟显示基于c8051f020单片机最小系统的实时时钟显示程序c8051f020 FYD12864-0402B LCD显示,按键电子时钟//#include#include#include#define uchar unsigned charvoid lcd_ini();voi...

单片机向串口调试助手发送数据 c语言uchar idata SystemBuf[10]; //用于接收 uchar Rx=0; //接收数据条数 uchar code AT[]="YES,IT IS"; void UART_init (void) { TMOD=0x20;//用定时器1 PCON=0x00; //波特率不加倍...

51单片机汇编语言编乘法和除法子程序;(r3r2r1r0) = (r7r6) * (r5r4), r4-r7 unchanged mul_word:mov b,r6 mov a,r4 mul ab mov r0,a mov r1,b mov r2,#0 mov r3,#0 mov a,r7 mov b,r4 mul ab add a,r1 mov r1,...

如何写sci文章论文写作常用句型与语法· 作者姓名和单位(Author and department)这一项属于论文署名问题。署名一是为了表明文责自负,二是记录作用的劳动成果,三是便于读者与作者的联系及文献检索(作者索引)。大致分为...

C语言中有多少种常用的排序法; using namespace std; int main() { int a[10]; cout<&lt;"输入10个数字:"<<endl; for (int i=0;i<10;i++) { cin>>a[i]; } for(int m=0;m<10;m++) for(int n=0;n<10;n++) { i...

求一个单片机c语言音乐程序#include#define uchar unsigned char #define uint unsigned int sbit BEEP=P3^2; // 生日快乐歌的音符频率表,不同频率由不同的延时来决定 uchar code SONG_TONE[]={212,212...

跪求一个单片机生日快乐歌C语言程序#include <reg52.h> #define uint unsigned int #define uchar unsigned char sbit BEEP=P1^2;//接喇叭或蜂鸣器的接口 uint h,i; uint hz; uchar jiep; bit flag; uint code...

推荐阅读
图文推荐