RS232串口通信详解:串口是计算机上一种非常通用的通信协议
9芯 | 信号方向来自 | 缩写 | 描述 |
1 | 调制解调器 | CD | 载波检测 |
2 | 调制解调器 | RXD | 接收数据 |
3 | PC | TXD | 发送数据 |
4 | PC | DTR | 数据终端准备好 |
5 | GND | 信号地 | |
6 | 调制解调器 | DSR | 通讯设备准备好 |
7 | PC | RTS | 请求发送 |
8 | 调制解调器 | CTS | 允许发送 |
9 | 调制解调器 | RI | 响铃指示器 |
两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可.
串口的电气特性:
1)RS-232串口通信最远距离是50英尺=15m
2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps
3)RS-232C上传送的数字量采用负逻辑,且与地对称
逻辑1:-3 ~-15V
逻辑0:+3~+15V
所以与单片机连接时常常需要加入电平转换芯片:
串口通信参数:
a)波特率:RS-232-C标准规定的数据传输速率为每秒50、75、 100、150、300、600、1200、2400、4800、9600、19200波特。
b)数据位:标准的值是5、7和8位,如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位);扩展的ASCII码是0~255(8位)。
c)停止位:用于表示单个包的最后一位,典型的值为1,1.5和2位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。
---------------------------------
串口通信的传输格式:
串行通信中,线路空闲时,线路的TTL电平总是高,经反向RS232的电平总是低。一个数据的开始RS232线路为高电平,结束时Rs232为低电平。数据总是从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。
例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。
55H=01010101B,取反后10101010B,加入一个起始位1,一个停止位0,55H的数据格式为
0101010101,55H
aaH=10101010B,取反后01010101B,加入一个起始位1,一个停止位0,55H的数据格式为
0010101011,aaH