串行接口(Serial port),也称串行接口或串行端口,串行通信接口,COM接口,简称串口主要用于串行式逐位数据传输,现在小编就来说说关于串口通信编程实例?下面内容希望能帮助到你,我们来一起看看吧!

串口通信编程实例(串口编程-串口简介)

串口通信编程实例

前言

串行接口(Serial port),也称串行接口或串行端口,串行通信接口,COM接口,简称串口。主要用于串行式逐位数据传输。

串口通信(Serial Communication),是一种非常常见的设备间的通信方式。串口通信协议是指双方约定一致的数据包格式规范(包含起始位、数据、校验位及停止位)。

1.串口常见的电气标准和协议1.1 RS-232C

RS-232C标准串口,是目前最常用的一种串行通信接口

RS-232C采用的接口是9针或25针的D型插头,常用的一般是9针插头。

DE-9 Male(Pin Side) DE-9 Female (Pin Side) ------------- ------------- \ 1 2 3 4 5 / \ 5 4 3 2 1 / \ 6 7 8 9 / \ 9 8 7 6 / --------- ---------

9针插头管脚

1 数据载波检测(DCD) 2 接受数据(RD、RXD) 3 发送数据(TD、TXD) 4 数据终端准备(DTR) 5 公共接地 6 数据准备好(DSR) 7 请求发送(RTS) 8 清除发送(CTS) 9 振铃指示(RI)

逻辑电平:逻辑1: -3~-15V;逻辑0: 3~15V数据最高传输速率:19200bps最远通信距离:15m

1.2 RS-422

RS-232存在距离短、速率低的问题,RS-422提升了这两方面,最大传输距离1200m,最大传输速度10Mb/s

一般是9针插头D型插头

逻辑电平:逻辑1: 两线间的电压差 2V~ 6V 逻辑0: 两线间的电压差-6V~-2V数据最高传输速率:10Mbps最远通信距离:1200m

1.3 RS-485

在RS-422基础上,RS-485增加了多点、双向通信能力,具备联网功能。

一般是9针插头D型插头

逻辑电平:逻辑1: 两线间的电压差 2V~ 6V 逻辑0: 两线间的电压差-6V~-2V数据最高传输速率:10Mbps最远通信距离:1200m

2. 串口数据包的组成

串口数据包由起始位、数据、校验位及停止位组成。

最常见的串口数据包配置为9600 8N1(9600波特率,8位数据位,无校验,1位停止位)。

例如传输字符0(ASCII为48,二进制110000)

01100001

解释

0(起始位) 110000(8位数据位) 1(1位停止位)

2.1 起始位

一个逻辑0(低电平)的数据位表示开始

2.2 数据位

起始位后的就是数据位,数据位的长度一般为5、6、7、8。

2.3 校验位

校验位用于校验数据是否正确。

一般分为:

0 - No Parity 无校验 1 - Odd Parity 奇校验 2 - Even Parity 偶校验 3 - Mark Parity 1校验 4 - Space Parity 0校验

2.4 停止位

数据传输结束的标志,一般由 1、1.5、2 个逻辑1(高电平)的数据位表示

,