串口编程 - 串口简介

278 阅读3分钟

串口编程 - 串口简介


如需转载请标明出处
QQ技术交流群:129518033

文章目录

前言

串行接口(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(高电平)的数据位表示


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处
QQ技术交流群:129518033


Reference:

  1. zh.wikipedia.org/wiki/RS-232