资料介绍
现在大部分的仪器设备都要求能过通过上位机软件来操作,这样方便调试,利于操作。其中就涉及到通信的过程。在实际制作的几个设备中,笔者总结出了通信程序的通用写法,包括上位机端和下位机端等。
1.自定义数据通信协议这里所说的数据协议是建立在物理层之上的通信数据包格式。所谓通信的物理层就是指我们通常所用到的RS232、RS485、红外、光纤、无线等等通信方式。在这个层面上,底层软件提供两个基本的操作函数:发送一个字节数据、接收一个字节数据。所有的数据协议全部建立在这两个操作方法之上。通信中的数据往往以数据包的形式进行传送的,我们把这样的一个数据包称作为一帧数据。类似于网络通信中的TCPIP协议一般,比较可靠的通信协议往往包含有以下几个组成部分:帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾。帧头和帧尾用于数据包完整性的判别,通常选择一定长度的固定字节组成,要求是在整个数据链中判别数据包的误码率越低越好。减小固定字节数据的匹配机会,也就是说使帧头和帧尾的特征字节在整个数据链中能够匹配的机会最小。通常有两种做法,一、减小特征字节的匹配几率。二、增加特征字节的长度。通常选取第一种方法的情况是整个数据链路中的数据不具有随即性,数据可预测,可以通过人为选择帧头和帧尾的特征字来避开,从而减小特征字节的匹配几率。使用第二种方法的情况更加通用,适合于数据随即的场合。通过增加特征字节的长度减小匹配几率,虽然不能够完全的避免匹配的情况,但可以使匹配几率大大减小,如果碰到匹配的情况也可以由校验码来进行检测,因此这种情况在绝大多说情况下比较可靠。地址信息主要用于多机通信中,通过地址信息的不同来识别不同的通信终端。在一对多的通信系统中,可以只包含目的地址信息。同时包含源地址和目的地址则适用于多对多的通信系统。数据类型、数据长度和数据块是主要的数据部分。数据类型可以标识后面紧接着的是命令还是数据。数据长度用于指示有效数据的个数。校验码则用来检验数据的完整性和正确性。通常对数据类型、数据长度和数据块三个部分进行相关的运算得到。最简单的做法可是对数据段作累加和,复杂的也可以对数据进行CRC运算等等,可以根据运算速度、容错度等要求来选取。
2.上位机和下位机中的数据发送
物理通信层中提供了两个基本的操作函数,发送一个字节数据则为数据发送的基础。数据包的发送即把数据包中的左右字节按照顺序一个一个的发送数据而已。当然发送的方法也有不同。在单片机系统中,比较常用的方法是直接调用串口发送单个字节数据的函数。这种方法的缺点是需要处理器在发送过程中全程参与,优点是所要发送的数据能够立即的出现在通信线路上,能够立即被接收端接收到。另外一种方法是采用中断发送的方法
- 使用51单片机进行键盘扫描的程序免费下载
- 使用51单片机进行流水灯的程序免费下载
- 使用51单片机进行IIC协议的解读程序免费下载
- 使用51单片机进行1005大数加法的资料和程序免费下载
- 如何进行51单片机的延时计算资料和程序免费下载的
- 使用单片机进行电流检测的程序免费下载
- 如何使用51单片机进行AD转换的程序资料免费下载
- 使用单片机进行中断的应用资料和程序免费下载
- 使用51单片机进行自动循迹智能小车的程序资料免费下载 30次下载
- 使用51单片机进行贪吃蛇设计的资料和电路图程序资料免费下载
- 使用51单片机进行闹钟制作的程序免费下载
- 使用51单片机进行简单的串口通讯程序资料免费下载
- 使用51单片机进行超声波测距的程序资料免费下载 23次下载
- 使用STM32单片机进行的示波器程序资料免费下载 45次下载
- 单片机进行AD转换的C语言程序资料免费下载 17次下载
- 单片机里的程序是如何运行? 3911次阅读
- 使用51单片机读写AT29C040的C语言程序免费下载 4529次阅读
- 单片机的主程序是如何执行的 1w次阅读
- HD44780读写单片机C51程序免费下载 4146次阅读
- 使用HD44780读写单片机的C51程序详细概述 3112次阅读
- 如何自制一个AVR单片机ISP下载线 3894次阅读
- 如何对STC单片机进行免掉电下载 2118次阅读
- 51单片机的ISP下载电路设计 3.1w次阅读
- 如何对51单片机进行外部扩展 1.5w次阅读
- 单片机程序设计时如何进行优化详细资料概述 4633次阅读
- 怎么读取单片机程序_单片机程序是如何执行的_如何读懂单片机程序 7.4w次阅读
- ch340g单片机下载程序电路原理 7.8w次阅读
- ARDUINO IDE编写和AVR单片机程序的下载 9769次阅读
- 单片机与程序设计(上) 3786次阅读
- STC单片机程序烧录与ISP下载相关知识 9934次阅读
下载排行
本周
- 1SMD LED选型手册 贴片灯珠
- 5.47 MB | 4次下载 | 免费
- 2明纬S-50-24开关电源电路图.pdf
- 0.10 MB | 2次下载 | 5 积分
- 3基本半导体产品在Sic逆变焊机中的应用
- 7.27 MB | 2次下载 | 免费
- 4加密芯片的一种破解方法和对应加密方案改进设计
- 0.29 MB | 1次下载 | 免费
- 5多功能MPU芯片GC9005数据手册
- 2.67 MB | 1次下载 | 免费
- 6基本半导体产品在125kW工商业储能PCS中的应用
- 10.74 MB | 1次下载 | 免费
- 7MOSFET参数解读
- 1.59 MB | 1次下载 | 2 积分
- 8550W充电机原理图
- 0.13 MB | 1次下载 | 6 积分
本月
- 1使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 2美的电磁炉维修手册大全
- 1.56 MB | 16次下载 | 5 积分
- 33314A函数发生器维修手册
- 16.30 MB | 13次下载 | 免费
- 4STM32F101x8/STM32F101xB手册
- 1.69 MB | 8次下载 | 1 积分
- 5感应笔电路图
- 0.06 MB | 8次下载 | 免费
- 6使用TL431设计电源
- 0.67 MB | 7次下载 | 免费
- 7不对称半桥(AHB)反激变换器的分析与设计
- 0.68 MB | 6次下载 | 1 积分
- 8LZC3106G高性能谐振控制器中文手册
- 1.29 MB | 5次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多