===========================
2022-8-26
===========================
一.温故知新
74HC138->数码管的公共端
是一个三八译码器,功能是一个选择器
16管脚的封装形式
VCC GND
A0 A1 A2(三个输入)
E1 E2 E3(控 模式)
Y0 - Y7(8个输出)
74HC595->数码管的数据段
是一个可以把串行数据转换成并行数据的模块
16管脚的封装形式
VCC GND
DS(串行数据的输入)
Q0 - Q7(并行数据的输出)
Q7’级联
OE(输出使能)
MR(主复位)
SH_CP
ST_CP
由三个部分组成
(<8bit移位寄存器><8bit存储寄存器><状态输出>)
选择器 
派发STM32F407ZGT6开发板
二.串行的接口
1.串口的简介
串口也叫做串行的接口,串行的通讯接口或者串行的通信接口
(在Windows系统环境中串口表现为COM接口)
(在Linux系统环境中串口表现为tty设备</dev/ttyxx>)
串行的通信指的是数据一位一位的按顺序(高位先出 | 低位先出)进行传输
串行的接口操作起来比较简单,只需要一条数据线就可以完成传输数据
注意 : 并口也叫做并行的接口.指的是数据多位多位进行传输
并不是说并口可以一次发送多位数据,就要比串口传输速度快,不一定
2.串口的工作模式
单工模式 A---->------B
A设备只发送数据,B设备只接收数据,数据线上只有一种传输方向
半双工模式 A-->-----<--B
A设备可以收发数据,B设备也可以收发数据
但是在同一时间,数据线上只能有一种传输方向
发送的同时不能接收,接收的同时不能发送
全双工模式 ------>-----
A B
------<-----
A设备可以收发数据,B设备也可以收发数据
发送的同时可以接收,接收的同时可以发送
3.不同电平标准的串口
注意 : 如果两个设备需要通过串口进行通信,首先要确保电平标准一致
如果电平标准不一致,需要使用电平转换模块
TTL电平标准的串口
0V代表数据0 3.3V/5V代表数据1
传输距离差不多1米左右
RS232电平标准的串口
(3V - 12V)代表数据0 (-3V - -12V)代表数据1
传输距离差不多15米左右
RS485电平标准的串口(工业级的总线<抗干扰性极强>)
在单工模式或者半双工模式下最少需要两条数据线
在全双工模式下需要四条数据线
因为传输的是两条电线的电压差
传输距离差不多1000米左右
4.我们开发板上串口的分类
在STM32F103RBT6芯片中串口的分类
SPI、I²C、I²S、USART/UART、CEC、USB、CAN、以太网接口、SDIO
本次主要讲的是USART/UART
5.USART/UART
USART : 通用的同步异步收发器
既支持同步模式也支持异步模式
UART : 通用的异步收发器
只支持异步模式
6.同步和异步
同步 : 发送方发出数据之后,需要等待接收方回复应答,接收到应答之后再发送
下一个数据包
同步是阻塞模式
比如说 : I²C、SPI属于同步的通信
异步 : 发送方发出数据之后,不需要等待接收方回复应答,直接发送下一个数据包
异步是非阻塞模式
比如说 : UART属于异步的通信
7.我们开发板上的USART/UART
我们使用的STM32F103RBT6芯片中一共有3个USART/UART
USART1 纽扣电池的上面
USART2 无线模块的接口位置
USART3 扩展IO
目的 : 带着大家把USART1的实验完成,自己搞定USART2/USART3的驱动
8.驱动USART1
USART1_TX PA9 推挽复用
USART1_RX PA10 浮空输入
在通讯之前需要规定好双方的波特率
115200 8N1
115200 波特率
8 8个数据位(1个字节数据)
N 没有奇偶校验
1 1个停止位
注意 : 上位机程序(串口调试助手)不要打开多个!!!
=================================
作业
1.把本周讲过的内容完整的复习一遍
2.举一反三(根据驱动USART1的程序把USART3搞定)
3.封装函数
extern void usart_1_send_data(char *buf);//可以发送多个字节数据
4.通过USART1显示DHT11采集的数据
"HUM:XX TEMP:XX"
5.通过USART1把结构体类型的数据发送出去
struct data
{
float Hum;//湿度
float Temp;//温度
int pm_value;//PM2.5
char buf[16];//存储额外的数据
};
struct data d = {23.45, 34.56, 9527, "Hello World"};
=================================