目录
串口是什么?
串口,即是串行通信接口。
串行通信,即是数据以固定的时间长度一位一位地依次传输。
如果你还有点懵,可以暂且将它理解为遵循着某种协议的数据交换方式。
我们首先接触到的进行这种数据交换通常是电脑(电脑上使用串口助手)和stm32(写好的代码烧录进去)。
串口有哪些?
“RS232、RS485、USB、UART、USART......”
如果你印象中是以上双引号的内容,那么你很可能已经概念混淆了。
首先,需要区分物理接口形式(硬件)和串口的电平标准(电信号)。
物理接口形式
串口通常采用两种物理形式,即D型9针插头(DB-9)和4针杜邦头。(DB-25不常见了)
![fc260955fcf04b56a472e4bed5141039.png](https://i-blog.csdnimg.cn/blog_migrate/af3c90b2148329c35203269c659cb8ec.png)
![198a24d1e9de4992a3c9e8956d38d791.png](https://i-blog.csdnimg.cn/blog_migrate/da7cd1a614e1310ad4c1d27818d14d6b.png)
串口的电平标准
串口电平标准有TTL、RS232、RS485......
TTL电平标准:低电平为0,高电平为1。
RS232电平标准:正电平为0,负电平为1。
事实上,STM32上自带(片上外设)的串口只有两种:UART和USART
USART是什么?
UART:Universal Asynchronous Receiver/Transmitter,通用异步收发器
USART:Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/异步收发器
USART是UART的增强型,比UART多了同步功能。
有意思的是,STM32微控制器将UART串口通信模块统称为USART。
以STM32F103为例,它有五个串口,分别命名为USART1、USART2、USART3、USART4和USART5。
其中,USART1/2/3是USART,而USART4/5是UART。
所以其实你会发现,我们在STM32上讲串口、讲USART、讲UART,虽然它们概念不同,但一般操作的是同一个外设。
如何使用USART?
如前文所说,新手一般最先接触电脑(电脑上使用串口助手)和stm32(写好的代码烧录进去)进行数据交换。
(我第一次在自学这个通讯协议的时候,网上一搜代码一大堆,代码内容都懂得差不多了,烧录进去STM32了,但是就是不知道如何和电脑通讯。)
所以,本文不讲冗余的内容,只讲除开代码外的其余操作。
那么,如何桥接STM32和电脑,并使用USART通讯呢?
这里就要引出新的概念——CH340。
CH340是什么?
在讲清楚CH340是什么之前,各位可以先看看自己电脑有没有USART。
没有就对了,USB倒是多。
USB是差分信号逻辑,非常复杂。
USART是TTL电平标准。
所以CH340,它来了。
CH340是一种USB转TTL芯片。
![7dda3c55905c4a36a78eebf77e81af85.png](https://i-blog.csdnimg.cn/blog_migrate/7f9ac5330e67885aebeb33c33d78384e.png)
各位可以根据代码的设计,用杜邦线连接CH340和STM32,将CH340插入电脑。
此时,在你的电脑下载安装好CH340驱动后,便可在设备管理器查看到CH340连接到了电脑。
然后,再下载一个串口调试助手,根据自己的代码设计,设置好端口、停止位、数据位、校验位、波特率等,然后发送数据,查看数据回馈是否和代码设计一样即可。