内存参考正点原子教程
什么时串口?
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
顺便回顾下其他常见接口:VGA接口、USB、HDMI接口。
VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。不支持热插拔,不支持音频传输。
通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯产品,并扩展至摄影器材、数字电视(机顶盒)、游戏机等其它相关领域。
高清多媒体接口(High Definition Multimedia Interface,HDMI [1] )是一种全数字化视频和声音发送接口,可以发送未压缩的音频及视频信号。
处理与外部设备通信的两种方式
并行通信
- 传输原理:数据各个未同时传输;
- 优点:速度快;
- 缺点:占用引脚资源多
串行通信
- 传输原理:数据按位顺序传输;
- 优点:占用引脚资源少;
- 缺点:速度慢;
串行通信按照数据传送方向分为:单工、半双工、全双工
单工:数据传输只支持在一个方向上传输;
半双工:允许数据在两个方向上传输,但是在某个时刻,只允许数据在一个方向上传输,它实际是一种切换方向的单共通信;
串行通信的通信方式
同步通信:带时钟同步信号传输。如:SPI、IIC通新接口;
异步通信:不带时钟同步信号。如:UART(通用异步收发器),单总线;
常见串行通信接口:
通信标准 | 引脚说明 | 通信方式 | 通信方向 |
UART (通用异步收发器) | TXD:发送端 RXD:接受端 GND:公共地 | 异步通信 | 全双工 |
单总线 (1-wire) | DQ:发送/接受端 | 异步通信 | 半双工 |
SPI | SCK:同步时钟 MISO:主机输入,从机输出 MOSI:主机输出,从机输入 | 同步通信 | 全双工 |
I2C | SCL:同步时钟 SDA:数据输入/输出端 | 同步通信 | 半双工 |
STM32的串口通信接口
- UART:通用异步收发器
- USART:通用同步异步收发器
UART异步通信方式引脚连接方式
- -RXD:数据输入引脚。数据接受。
- -TXD:数据发送引脚,数据发送。
![](https://img-blog.csdnimg.cn/20190919215606988.png)
串口号 | RXD | TXD |
1 | PA10 | PA9 |
2 | PA3 | PA2 |
3 | PB11 | PB10 |
4 | PC11 | PC10 |
5 | PD2 | PC12 |
UART异步通信方式特点
- 全双工异步通信
- 分数波特率发生器系统,提供精确的比特率。发送和接收共用的编程波特率,最高可达4.5Mbits/s
- 可编程的数据字长度(8位或者9位);
- 可配置的停止位(支持1或者2位停止位);
- 可配置的使用DMA多缓冲器通信;
- 单独的发送和接收器使能位;
- 检测标志:接收缓冲器、发送缓冲器空、传输结束标志
- 多带标志的中断源,触发中断
- 其他:校验控制,四个错误检测标志;
串口通信过程
![](https://img-blog.csdnimg.cn/20190919221111671.png)
![](https://img-blog.csdnimg.cn/2019091922120443.png)
串口异步通信需要定义的参数
起始位、数据位(8位或者9位)、奇偶校验位(第9位)、停止位(1,15,2位)、波特率设置