我也聊聊串口通信协议:用户层通信协议的编制

本文探讨了串口通信协议中用户层协议的重要性,旨在解释为何要编制用户通信协议以及其原理。主要内容包括协议的包头、包尾、数据校验、换行符的使用,以及介绍了NMEA-0183和自定义通信协议的实例。通过这些基础知识,为深入理解串口通信奠定了基础。
摘要由CSDN通过智能技术生成

1.闲话闲聊

最重要的写在前面:用户层通信协议就是数据包格式!!!
没有进行串口通讯实践的朋友可能会想:为什么要编制用户通信协议呢?通信过程中为什么要进行数据处理呢?在设计中编过串口通信程序的读者应该张口就可以回答: 为了按规定格式从串口发送数据,也为了从接收到的数据中将需要的信息提取出来
串口通信协议一般可以从两个角度来思考:底层通信协议和用户层协议。底层协议一般有计算机硬件提供商和设备厂家提供,在一般性的通信编程中很少会涉及(我估计1000个搞通信的,能编底层的也就那么1,2个),而用户层协议则是面向使用者的,也就是我们在编程中通常谈到的通信协议。 这种用户层的通信协议,简单来说,就是数据以何种格式发送出去,或者说如何从接收到的某种格式的数据中提取需要的数据,以及在发送和接收过程中如何保证这些数据的正确性,即数据校验
这片帖子先扯扯为什么要编?原理是什么?现存的协议有什么?这些基本问题,为后面逐步深入奠定基础。

2.为什么要编制用户通信协议?

大多数MFC等界面开发数据都已经准备好了,只需做一个可视化工作就可以了。可是实际很多工作可不是这样,我们需要实时采集并处理显示数据。举例子说,我们刚入门做通信编程时,大多时候只是从串口接收数据,并显示在GUI窗口上。然而我们却忽略了一个非常关键的细节:如何从接收到的数据中提取有用的信息?如何处理我们发送出去的数据?这些问题才是我们进行通信编程的目标所在,也就是说,通信协议才是对接软件与硬件交流的关键!
在大多数编程实践中,接收与发送数据并不需要直接显
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值