单片机串口学习

站在巨人的肩膀:https://blog.csdn.net/qq_38410730/article/details/79887200

串口通信:按位传输数据的串行通信方式,串口通信中通常使用的是异步串口通信,即没有时钟线,所以两个设备要通信,需要设置波特率相同(115200\9600)

1、串口通信物理层:

在串口通信中通常 PC 机的 DB9 为公头,单片机上使用的串口 DB9 为母头,通过一根直通串口线进行相连。

PC1 PC2
RXD TXD
TXD RXD

2、串口通信协议层:

通信标准:RS-232、RS-485等;

以RS-232为例:

RS232 的通信协议比较简单,通常遵循 96-N-8-1 格式。

“96”表示的是通信波特率为 9600。串口通信中通常使用的是异步串口通信,既没有时钟线,所以两个设备要通信,必须要保持一致的波特率,当然,波特率常用值还有 4800、115200 等。

“N”表示的是无校验位,由于串口通信相对更容易受到外部干扰导致传输数据出现偏差,可以在传输过程加上校验位来解决这个问题。校验方法有奇校验(odd)、偶校验(even)、 0 校验(space)、1 校验(mark)以及无校验(noparity)。

“8”表示的是数据位数为 8 位,其数据格式在前面介绍异步通信中已讲过。当然数据位数还可以为 5、6、7 位长度。

“1”表示的是 1 位停止位,串口通讯的一个数据包从起始信号开始,直到停止信号结束。数据包的起始信号由一个逻辑 0 的数据位表示,而数据包的停止信号可由 0.5、 1、 1.5 或 2 个逻辑 1 的数据位表示,只要双方约定一致即可

猜你喜欢

转载自www.cnblogs.com/zhouwalle/p/10725615.html