==========================
2022-9-5
==========================
一.温故知新
串行的接口
USART/UART
USART:通用的同步异步收发器
UART:通用的异步收发器
STM32F103RBT6中有3个USART/UART
目标 :
1.把USART1的所有项目实验调通
USART1的发送一个字节
USART1的发送多个字节
USART1接收(轮询和中断)一个字节数据
USART1解析接收到的字符串数据
把标准输入和标准输出重定向到USART1中
1)使用Micro Lib 2)禁用半主机模式
2.举一反三
把USART1的项目实验移植到USART2/USART3
I²C
1.分析I²C的协议
2. 驱动E²PROM OLED SHT30
3.带着大家把E²PROM驱动起来
4.大家把官方提供的OLED的案例移植到项目工程中
5.大家自己搞定SHT30
================================
任务
1.把USART1的项目实验移植到USART3上
2.工业物联网的控制终端的发送器(把相应的指令发送给设备,设备进行解析)
3.所有同学以组为单位,两两之间串一遍I²C的协议
4.系统中的界面
1)公司的LoGo
2)DHT11的数据(客厅的数据).
3)SHT30的数据(卧室的数据)
4)高精度可调电阻->虚拟成任意类型的传感器->可燃气的含量(厨房的数据)
5)额外的传感器
6)日历
7)时间
-------------------------------------------
计秒表 + 看门狗监测系统 + 界面可以通过按键切换
================================
二.ADC
1.ADC的实验
1)STM32F103RBT6开发板->高精度可调电阻->可以当做任意类似的传感器
->在扩展IO中可以连接其他的模拟型传感器
2)STM32F407ZGT6开发板->PM2.5->CO传感器
->在扩展IO中可以连接其他的模拟型传感器
3)在STM32F407开发板上查找扩展IO中有没有DAC功能的管脚,尝试驱动DAC
2.ADC的简介
在市面上有很多种类的传感器,可以分为数字型的传感器和模拟型的传感器
数字型的传感器:采集到的就是数字量,可以直接交给CPU来处理
模拟型的传感器:采集到的是模拟量,需要通过AD转换,
转换成了数字量,再交给CPU来处理
ADC : 模数转换器(可以把模拟量转换成数字量)
很多的工程师会把ADC当作电压表进行使用
3.了解STM32F103RBT6芯片上的ADC
打开<STM32RBT6\DataSheet\STM32>目录下
<ST_MCU最新选型手册.pdf> P22
通过最新选型手册的了解
1)STM32F103RBT6芯片内部已经集成了ADC
2)ADC的资源 16 x 12bit
打开<STM32RBT6\DataSheet\STM32>目录下
<STM32F103RB.pdf> P19
通过讲硬件的手册了解
1)STM32F103RBT6芯片中只有2个ADC的外设(ADC1和ADC2)
2)这两个ADC都连接到了APB2总线上
3)这两个ADC都可以使用这16个转换通道
※打开<STM32课程SDK\DataSheet\STM32>目录下
<STM32F405OE_STM32F405OEY6TR_STM32F405OG_STM32F405OGY6TR_to_STM32F407ZGT7.pdf> P18
通过讲硬件的手册了解
1)STM32F407芯片中只有3个ADC的外设(ADC1 ADC2 ADC3)
2)这三个ADC都连接到了APB2总线上
3)24个通道中其中有8个通道是ADC1 ADC2 ADC3共用
4)24个通道中其中有8个通道是ADC1 ADC2共用
5)24个通道中其中有8个通道是ADC3使用
12bit指的是量化位
把模拟量转换成数字量所占用的位数就是量化位
将来转换之后最小值是 : 0000 0000 0000 0
将来转换之后最大值是 : 1111 1111 1111 4095
※在ADC中也有LSB的概念
LSB->指的是一个量化位代表的模拟量
----------------------------------------
例子
4bit的量化位可以转换0V - 3.3V
0000 代表 0V
1111 代表 3.3V
LSB(一个量化位)0001,代表的电压值是多少?
LSB = 0.22V
----------------------------------------
4.通过芯片的手册了解ADC
打开<STM32RBT6\DataSheet\STM32>目录下
<STM32F10x中文参考手册.pdf> P113
5.开发板原理图中高精度可调电阻的连接
ADC_VOL PC0/ADC_IN10
PC0管脚将来配置为模拟输入功能