单片机串口学习
Posted zhouwalle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机串口学习相关的知识,希望对你有一定的参考价值。
站在巨人的肩膀:https://blog.csdn.net/qq_38410730/article/details/79887200
串口通信:按位传输数据的串行通信方式,串口通信中通常使用的是异步串口通信,即没有时钟线,所以两个设备要通信,需要设置波特率相同(1152009600)
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 的数据位表示,只要双方约定一致即可
以上是关于单片机串口学习的主要内容,如果未能解决你的问题,请参考以下文章
单片机入门应用层软件开发的单片机学习之路-----UART串口通讯和c#交互...