精华内容
下载资源
问答
  • 串口通信数据格式

    千次阅读 2020-09-17 12:21:38
    串口收发数据的单位:字节 (Byte) '', 1Byte = 8 bits , 串口收发数据格式一般为 :1bit 起始位(一般为0) + 8bits 数据位(一字节) +1bit 校验位(可有可无) + 1bit结束位(一般为1) 奇校验是指每帧数据中,包括...

    串行接口的定义:

    • 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口)
    • 是指数据一位一位地顺序传送
    • 特点是通信线路简单,只要一对传输线就可以实现双向通信;成本低,适用于远距离通信,但传送速度较慢

     串口通信的定义:

    • 串口按位(bit)发送和接收字节。

    串口通讯的定义:

    • 串口通讯(Serial Communication), 是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。

    在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。

    串口收发数据的单位:字节 (Byte) '',   1Byte = 8 bits , 串口收发数据格式一般为  :1bit 起始位(一般为0)   8bits 数据位(一字节)  1bit 校验位(可有可无)  + 1bit结束位(一般为1)

     

    • 奇校验是指每帧数据中,包括数据位和奇偶校验位的全部9个位中1的个数必须为奇数;
    • 偶校验是指每帧数据中,包括数据位和奇偶校验位的全部9个位中1的个数必须为偶数。
    展开全文
  • 深入剖析串口通信数据格式

    千次阅读 多人点赞 2019-05-10 21:43:05
    串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。 串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。 在串行通信中,数据在1位宽...

    串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。 串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。

    在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。串行通信的数据是逐位传输的,发送方发送的每一位都具有固定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收方还必须能够确定一个信息组的开始和结束。常用的两种串行通信方式包括同步通信和异步通信。

    TTL电平和RS232电平

    TTL电平:+5V等价于逻辑”1”,0V等价于逻辑”0”;

    RS232电平: 串口的一个标准,采用负逻辑。

    1. 在TXD和RXD上:逻辑”1” = -15V ~ -3V,逻辑”0” = +3V ~ +15V

    2. 在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压,高电平)= +3V~+15V,信号无效(断开,OFF状态,负电压,低电平) = -3V~-15V

    9针串口(DB9)

    这里写图片描述

    管脚功能说明如下:
    这里写图片描述

    串行同步通信与串行异步通信

    (PS:本节中电平为TTL电平)

    同步通信(SYNC:synchronous data communication)是指在约定的通信速率下,发送端和接收端的时钟信号频率和相位始终保持一致(同步),这样就保证了通信双方在发送和接收数据时具有完全一致的定时关系。

    异步通信(ASYNC:asynchronous data communication),是以字符为单位进行传输的,字符之间没有固定的时间间隔要求,而每个字符中的各位则以固定的时间传送。 异步通信中,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现的。具体来说就是,在一个有效字符正式发送之前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发送一个停止位,起始位至停止位构成一帧。停止位至下一个起始位之间是不定长的空闲位,并且规定起始位为低电平(逻辑值为0),停止位和空闲位都是高电平(逻辑值为1),这样就保证了起始位开始处一定会有一个下跳沿,由此就可以标志一个字符传输的起始。而根据起始位和停止位也就很容易的实现了字符的界定和同步。
    显然,采用异步通信时,发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,可以互不同步。

    异步通信的数据格式

    (PS:本节电平为TTL电平)

    一个数据帧包括:1个起始位(低电平),8个数据位,1个校验位,1个停止位(高电平,表示数据帧结束),如下图所示。
    这里写图片描述
    1. 在信号线上共有两种状态,可分别用逻辑1(高电平)和逻辑0(低电平)来区分。在发送器空闲时,数据线应该保持在逻辑高电平状态
    2. 起始位(Start Bit):发送器是通过发送起始位而开始一个字符传送,起始位使数据线处于逻辑0状态,提示接受器数据传输即将开始;

    1. 数据位(Data Bits):起始位之后就是传送数据位。数据位一般为8位一个字节的数据(也有6位、7位的情况),标准的ASCII码是0~127(7位),扩展的ASCII码是0~255(8位),低位(LSB)在前,高位(MSB)在后

    2. 校验位(parity Bit):校验位一般用来判断接收的数据位有无错误,分为NONE(无校验位)/ODD(奇校验)/EVEN(偶校验)/MASK(标志位,校验位一直为1)/SPACE(空白,校验位一直为0),例如,如果数据是1011,那么对于偶校验,校验位为1,保证逻辑高的位数是偶数个,如果是奇校验,校验位为0,保证逻辑低的位数是奇数个。一般是奇偶校验,在使用中,该位常常取消;

    3. 停止位:停止位在最后,用以标志一个字符传送的结束,它对应于逻辑1状态
    4. 位时间:即每个位的时间宽度,起始位、数据位、校验位的位宽度是一致的,停止位有1位、1.5位、2位格式,一般为1位。

    异步数据的数据发送过程

    发送数据的具体步骤如下:

    1. 初始化后或者没有数据需要发送时,发送端输出逻辑1,可以有任意数量的空闲位;

    2. 当需要发送数据时,发送端首先输出逻辑0,作为起始位;

    3. 接着开始输出数据位,发送端首先输出数据的最低位D0,然后是D1,最后是数据的最高位;

    4. 如果设有奇偶检验位,发送端输出检验位;

    5. 最后,发送端输出停止位(逻辑1);

    6. 如果没有信息需要发送,发送端输出逻辑1(空闲位),如果有信息需要发送,则转入步骤2;

    7. 如果是以232电平发送的,示波器上看到的发送端信号应是上述数据包取反后的结果(负逻辑)。

    异步通信的数据接收过程

    在异步通信中,接收端以接收时钟和波特率因子决定每一位的时间长度。下面以波特率因子等于16(接收时钟每16个时钟周期使接收移位寄存器移位一次)为例来说明:

    1. 开始通信,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对接收时钟计数;

    2. 接收端检测到起始位后,隔16个接收时钟对输入信号检测一次,把对应的值作为D0位数据;

    3. 再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据,直到全部数据位都输入;

    4. 检验奇偶检验位;

    5. 接收到规定的数据位个数和校验位之后,通信接口电路希望收到停止位(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志;若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中取出送至数据输入寄存器,若校验错,在状态寄存器中置“奇偶错”标志;

    6. 本帧信息全部接收完,把线路上出现的高电平作为空闲位;

    7. 当信号再次变为低时,开始进入下一帧的检测。
      (PS1:接收时钟和发送时钟与波特率有如下关系:
      f = n × B 这里f 是发送时钟或接收时钟的频率; B 是数据传输的波特(Baud)率; n 称为波特率因子。设发送或接收时钟的周期为Tc,发送一个波形所需要的传输时间为Td,则: Tc = 1/f , Td = 1/B ,得到: Tc = Td /n,从而n代表发送一个波形需要几个时钟周期。 在实际串行通信中,波特率因子可以设定。在异步传送时,n = 1,16,64,常采用n = 16,即发送或接收时钟的频率要比数据传送的波特率高n倍。在同步通信时,波特率因子n必须等于1。
      PS2:波特率与比特率的关系:
      波特率代表1秒钟发送波形的个数,而比特率代表1秒钟发送比特的个数。在采用二进制传输的情况下,发送的波形一共有两种波形,即高电平和低电平,那么一个波形代表一个比特,因此波特率和比特率相等;在采用四进制传输的情况下,发送的波形一共有4种波形,此处假设发送的最高电平为3V,发送00的波形为0V,发送01的波形为1V,发送10的波形为2V,发送11的波形为3V,那么一个波形代表两个比特,因此比特率是波特率的两倍;同理,在采用八进制传输的情况下,比特率是波特率的三倍,以此类推。)

    串口助手通过DB9串口发送数据剖析

    波特率115200bps,每个比特时间:1s/115200 = 1000000us/115200=8.68us。

    发送5C4E,偶校验

    1.串口调试助手

    这里写图片描述

    2.5C4E对应二进制:0101_1100_0100_1110,分别对2个字节加起始位、校验位、停止位(data的LSB先发):
          b |<–data–>| ps
    0101_1100:0_0011_1010_0_1

          b |<–data–>| ps
    0100_1110:0_0111_0010_0_1
    合起来为:0_0011_1010_0_1_0_0111_0010_0_1
    3.转换为负逻辑:1_1100_0101_1_0_1_1000_1101_1_0,波形如下图,可以看到数据流的1逻辑为-11V,0逻辑为+11V:
    这里写图片描述

    发送7B3D2A,无奇偶校验位

    1.串口调试助手
    这里写图片描述

    2.7B3D2A对应二进制:0111_1011_0011_1101_0010_1010,分别对3个字节加起始位、停止位(data的LSB先发):
           b |<–data–>| s
    0111_1011:0__11011110__1

           b |<–data–>| s
    0011_1101:0__10111100__1

           b |<–data–>| s
    0010_1010:0__01010100__1
    合起来为:0_1101_1110_1_0_1011_1100_1_0_0101_0100_1
    3.转换为负逻辑:1_0010_0001_0_1_0100_0011_0_1_1010_1011_0,波形如下图,可以看到数据流的1逻辑为-11V,0逻辑为+11V:
    这里写图片描述

    参考文献

    https://wenku.baidu.com/view/83fc202b19e8b8f67d1cb93e.html
    https://wenku.baidu.com/view/681e210aba1aa8114431d9d4.html

    展开全文
  • 串口通信传输的数据格式

    热门讨论 2012-03-24 23:31:44
    简单描述了串口传输文件的两种格式,对初用串口工具的编程者比较有用!
  • 串口通信数据格式与解析

    万次阅读 2017-08-31 10:43:13
    串行通信中,线路空闲时,线路的 TTL 电平总是高,经反向 RS232 的电平总是低。一个数据 的开始 RS232 线路为高电平,结束时 Rs232 为低电平。数据总是从低位向高位一位一位的传 输。示波器读数时,左边是数据的...
    串口通信的传输格式:
    串行通信中,线路空闲时,线路的 TTL 电平总是高,经反向 RS232 的电平总是低。一个数据
    的开始 RS232 线路为高电平,结束时 Rs232 为低电平。数据总是从低位向高位一位一位的传
    输。示波器读数时,左边是数据的高位。
    例如,对于 16 进制数据 55aaH,当采用 8 位数据位、1 位停止位传输时,它在信号线上的波
    形如图 1(TTL 电平)和图 2(RS-232 电平)所示。
    55H=01010101B,取反后 10101010B,加入一个起始位 1,一个停止位 0,55H 的数据格式为
    1010101010B;
    aaH=10101010B,取反后 01010101B,加入一个起始位 1,一个停止位 0,55H 的数据格式为

    1101010100B;


    串口通信的接收过程:(异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收
    器由同一个时钟源控制。RS232 是异步通信)
    (1)开始通信时,信号线为空闲(逻辑 1),当检测到由 1 到 0 的跳变时,开始对“接收时钟”
    计数。
    (2)当计到 8 个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”,而不
    是干扰信号。
    (3)接收端检测到起始位后,隔 16 个接收时钟,对输入信号检测一次,把对应的值作为 D0
    位数据。若为逻辑 1, 作为数据位 1;若为逻辑 0,作为数据位 0。
    (4)再隔 16 个接收时钟,对输入信号检测一次,把对应的值作为 D1 位数据。….,直到全部
    数据位都输入。
    (5)检测校验位 P(如果有的话)。
    (6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位 S(逻辑 1),若此时
    未收到逻辑 1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据
    位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在
    状态寄存器中置奇偶错标志。
    (7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。
    (8)当信号再次变为低时,开始进入下一幀的检测。

    展开全文
  • 串口通信数据格式那点儿事儿

    千次阅读 2016-01-14 21:31:25
    最近在做通信相关的程序,利用手机去和单片机进行通信数据格式真是把我给搞蒙了,现在终于清楚了,记录一下 : 要清楚一件事儿,计算机只识别ASC码,串口调试助手上可以16进制发送和16进制接收 1,比如如果...

    最近在做通信相关的程序,利用手机去和单片机进行通信,数据格式真是把我给搞蒙了,现在终于清楚了,记录一下 :

    要清楚一件事儿,计算机只识别ASC码,串口调试助手上可以16进制发送和16进制接收

    1,比如如果单片机接收到一个ASC码0x31,

        一,勾选16进制的话,就会以16进制的格式显示,因为ASC码本身就是16进制,则会显示31

        二,未勾选16进制的话,则会显示1,因为1的ASC码是0x31;

    2,如果单片机去发送 一个1,

         一,勾选16进制的话,就是将1作为16进制看待,则会去发送0x01

          二,未勾选16进制的话,则会发送ASC码0x31;


       

    展开全文
  • 串行通讯数据发送时的格式 串行数据通讯 (Serial Data Communication) Lets' start by understanding what Data communication processors are, 让我们首先了解什么是数据通信处理器, 数据通讯处理器 (Data ...
  • 串行通信按照数据传送方向分为: (a)单工:数据传输只支持数据在一个方向上传输 (b)半双工:允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信 ...
  • 在双机通讯中,第九位一般是奇偶校验位。 可以发9位数据,8个数据为,第九位是校验位,校验位有4个状态可设置,基校验,偶校验,总为1,总为0。
  • 异步通信数据格式

    千次阅读 2021-02-24 21:47:41
     串口通信是指采用串行通信协议(serialcommunication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。 1.串行通信  在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8...
  • 本程序主要解决了串口接收数据的过程中出现乱码和数据丢失的情况,特别适合于串口通信的初学者.希望能够对大家有所帮助
  • 本源码在VS2013平台上,使用C#编程,实现了多串口通信数据接收处理,实用性强,代码简洁,内置使用说明
  • Java串口通信详解

    2017-12-27 16:45:36
    对常用的 RS232 串行端口和 IEEE1284 并行端口通讯的支持。 RS-232-C(又称 EIA RS-232-C,以下简称 RS232)是在 1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解 调器厂家及计算机终端生产厂家共同制定的用于...
  • 通过数码管将51单片机从电脑上接收来的数据进行转换并显示出来! 通过数码管将51单片机从电脑上接收来的数据进行转换并显示出来!
  • 异步同步通信数据格式

    千次阅读 2020-07-10 13:52:52
    串行通信可以分为两种类型:同步通信、异步通信. 1. 异步通信的特点及信息帧格式: 以起止式异步协议为例,下图显示的是起止式一帧数据格式: 图1 起止式异步通信的特点是:一个字符一个字符地传输,每个字符一位一位...
  • 随着人类社会的发展,利用计算机设备实现生产过程的自动化成为提高生产力、减轻 劳动强度的有效手段。由于大量设备的使用,必须随时了解实际情况,因此要对实时工作进行 监视,并通过计算机辅助...和串口通信过程。
  • Windows平台下串口通信数据实时获取与监测 通过编程实现数据获取。避免了硬件线路搭建进行线路获取。同时可以检测通信速率。
  • 通信是人们传递信息的方式。计算机通信是将计算机技术和通信技术相结合,完成计算机与外部设备或计算机与计算机之间的信息交换。这种信息交换可以分为两大类;并行通信与串行通信
  • 1.最近在开发一款Labview串口通信软件,功能是实现PC与sony摄像机云台的数据通信。主要是通过PC发送16进制指令控制云台的转动,方便做一些测试。 遇到的问题:一开始没注意格式问题,只是纯粹的将16进制数据放入...
  • 串口通信是指采用串行通信协议(serialcommunicaTIon)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。   串行通信 在...
  • 这是个人做的一个实用小项目,主要用于与下位机设备通信,将下位机采集的数据实时显示并记录,界面设计参考Windows任务管理器 这是个人做的一个实用小项目,主要用于与下位机设备通信,将下位机采集的数据实时显示...
  • 摘要:本文针对由FPGA构成的高速数据采集系统数据处理能力弱的问题,提出FPGA与单片机实现数据串行通信的解决方案。在通信过程中完全遵守RS232协议,具有较强的通用性和推广价值。  1 前言  现场可编程逻辑器件...
  • 本程序功能是Arduino R3串口通讯时,解析接收到的数据
  • 通信格式和数据格式

    千次阅读 2021-01-17 16:56:25
    通信格式和数据格式这两个东西以前没有注意过,在使用单片机串口的时候也没有思考过这个方面,认为配置好了就行了。在这里区分一下通信格式和数据格式。 这篇文章在学习过程中作为总结,如有错误,请多指教。 通信...
  • 串口通信,多线程接收数据,并可以发送数据
  • C#串口通信时丢失数据的一种解决方法,刘凯,周云耀,C # 串行类( SerialPort )为串口通信提供了简便方法,且具有功能强大、通信快速、实时性好等特点。但在实际应用中,在串口高波特率大信
  • 串口通信,电子称数据读取。程序详细易懂,可以扩展到其他应用。 串口通信,电子称数据读取。程序详细易懂,可以扩展到其他应用。
  • MCGSpro自由口通讯驱动,可以自由定义通讯数据与特种通讯协议设备通讯。
  • 为了提高串口数据通信的准确率、方便上层应用编程,设计了一个协议对串口数据通信协议进行封装。协议采用自定义报文格式封装串口数据帧的方式工作,利用报文应答机制保证传输正确性,该协议在线路故障出现时能有效...
  • 51 单片机串口通信程序,RS232串口通信 含详细例子。 含详细例子,RS232串口通信单片机接收发送数据的 C51程序,手把手教你用增强型51 实验板实现RS232 串口通信 51串口通信

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 198,492
精华内容 79,396
关键字:

串口通信的数据格式

友情链接: 教学管理软件1.rar