0%

stm32_note_16day

==========================
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管脚将来配置为模拟输入功能