串口通信
- USART/UART简介
USART,通用同步/异步收发器
UART,通用异步收发器
同步意思就是:多了一根时钟线,发送端和接收端就是根据这根时钟线来同步收发;
异步:少了这根时钟线。
USART/UART都可以与外部设备进行全双工异步通信
全双工:发送和接受都有自己的一个道路,发送和接受互不干扰。
- 波特率:每秒种传送的码元数,单位Baud
- 比特率:每秒种传送的比特数,单位bit/s
- 二进制系统中,波特率数值等于比特率
在STM32中USRT/UART使用的是TTL电平,所以也称TTL串口。TTL电平:3.3V/5V为1,0V为0;
仅需两根数据线就可以完成两个设备的双向通信。
注意:电脑需安装CH340 USB虚拟串口驱动
- 实战环节
目的:学习使用STM32的串口来收发数据。
多个例子:
- 使用轮询的方式,实现串口的发送和接受数据
- 使用中断的方式,实现串口的发送和接受数据
- 接着,开始我们的实践操作!!!
选择串口1,异步通信(Asynchronous),如下图进行配置。
定义一个数组
用这个函数打印
_io_putchar()输出一个函数,printf底层就是调用了这个函数
要照着上面进行设置,要不自然汉字会出现乱码。
如果想要打印浮点数,进行下图操作。
接下来学习串口接受;
如果没有接收到数据,不会执行LED翻转。