串口通信协议数据处理一

目前数据发送主要有两种方式: 主动连续发送方式和被动的命令问答发送方式。

要发送数据,进行串口通讯,首先要设置通讯参数。

串口通信首先设置通讯参数。

第一部分设置通用参数。

主要包括串口号:e.g.:COM1

通讯参数:波特率、 奇偶校验、 数据位、 停止位。

第二部分根据具体的协议进行数据处理。

在设置完第一部分的参数后,就可以正常的接收发送数据。

但接收和发送的数据,还需要根据约定的协议,对数据进行处理。

数据处理需分步骤进行处理。

串口通信也会存在TCP通讯中数据包的粘连。

首先需从接收到的数据中,清晰的界定出通讯的一个完整的数据包。

然后对一个完整的数据包,再根据约定的通讯协议,解析出数据包中所包含的一组信息:含有状态标识和数据信息。

时间: 2024-11-03 10:37:13

串口通信协议数据处理一的相关文章

串口通信协议数据处理二

该部分主要针对主动发送的连续仪表数据进行处理.只处理固定长度的数据. 在称重系统中,主要针对金钟和托利多的仪表进行处理. 串口的数据接收有两种方式,一种是通过事件触发方式,通过监听DataReceived事件:另一只就是通过循环主动查询BytesToRead属性,来判断是否有数据需处理.主动查询程序控制更方便,采用主动查询. 要进行通讯数据的处理,首先需要接收从com口获取的数据.接收到的数据需要一个内存空间进行存储.考虑到接收到的数据是连续数据,且数据接收后要进行后期的处理,处理后就要对数据进

单片机: 自定义串口通信协议的实现

使用51单片机完成一个简单的串口通信协议. 要求: 一个协议帧为8个字节,其中头部两个字节,分别是0xFF,0xFE; 第3个字节代表第一个数据,第4个字节代表第二个数据(均为正数); 第5个字节如果是0,代表两个数据的和,1的话代表两个数据的差; 第6个字节为0,代表使用十进制显示,为1代表十六进制显示; 最后两个字节代表协议尾部,值分别为0xFD,0xFC. 将传输的两个数据和他们的计算结果分别显示在数码管上. 注意,如果差为负数,要将负号显示出来. 思路:使用串口中断,先接收8个字节至数组

自定义用户层的灵活性串口通信协议

想不到第一次接触串口就要去写一个自定义的灵活性串口通信协议,所以在这里记录一下自己的心得,有什么不合理的地方还请大佬们指出. 先说明这里提到的灵活性其实也是相对来说的,并不是说明数据包都可以定义. 一.用户层串口通信协议 简单的来说用户层的串口通信协议就是如何定义一个数据包格式,发送端按照规定的数据包格式发送出去,接收端按照规定的数据包格式解析出正确的数据. 那为什么又要在用户层定义呢,其一是因为底层的通信协议不是随随便便就可以写出来的,二是因为我们在市面上买到的串口模块本身就已经有了底层通信协

基于STM32之UART串口通信协议(二)发送

一.前言 1.简介 在上一篇UART详解中,已经有了关于UART的详细介绍了,也有关于如何使用STM32CubeMX来配置UART的操作了,而在该篇博客,主要会讲解一下如何实现UART串口的发送功能. 2.UART简介 嵌入式开发中,UART串口通信协议是我们常用的通信协议之一,全称叫做通用异步收发传输器(Universal Asynchronous Receiver/Transmitter). 3.准备工作 在UART详解中已经有了详细的说明,在这里就不说明了. 注: 建议每次编写好一个相关功

山外调试助手虚拟示波器串口通信协议

通信协议格式为[0x03] [0xfc][数据......][0xfc][0x03],完成一次波形发送. 部分代码: void usart1_send_char(u8 c){    while((USART1->SR&0X40)==0);       USART1->DR=c;       } void sw_send_data(u8 *data,u8 len){       u8 i;   usart1_send_char(ZHENG);   usart1_send_char(~ZH

两张图学会串口通信协议

1. 使用示波器截取的波形1: 2. 使用示波器截取的波形2: 注意: 1. 先发送高字节,再发送低字节: 2. 先发送字节的低位,后发送字节的高位

使用win32 API 实现串口通信 (二)

通常对于串口通信协议规定,有命令帧与应答帧. 1.协议规定,如头+命令字+数据块长度+数据块+校验. 对于协议规定的具体帧,可以为每一个帧,建立一个结构体数据,用于存储我将要接收的数据,这样我们可以事先建立多个结构体,通常大概会建立10到50不等,这与通信的数据协议有关. 2.现在我们要考虑的是如何将一个完整的数据帧去掉头.命令字.校验,存入结构体中,以便我们可以直接使用结构体中数据成员,也方便使用.通常C++的做法是使用运算符重载进行复制,将一个我们接收到buffer数据帧,复制到结构体中.

u-boot分析(八)----串口初始化

u-boot分析(八) 上篇博文我们按照210的启动流程,分析到了内存初始化,今天我们继续按照u-boot的启动流程对串口的初始化进行分析. 今天我们会用到的文档: 1.        2440芯片手册:http://download.csdn.net/detail/wrjvszq/8358949 2.        6410芯片手册:http://download.csdn.net/detail/wrjvszq/8358965 3.        210芯片手册:S5PV210_UM_REV1

串口通信(1)

什么是串口? 什么是RS-232? 什么是RS-422? 什么是RS-485? 什么是握手? 1.什么是串口? 串口是计算机上一种非常通用的设备通信的协议.大多数计算机包含两个基于RS232的串口.串口同时也是仪器仪表设备通用的通信协议:很多GPIB兼容的设备也带有RS-232口.同时,串口通信协议也可以用于获取远程采集设备的数据. 串口通信的概念非常简单,串口按位(bit)发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据.它很简单并