• STM32入门100步


    目录

    1、C8T6引脚图

    2、电路基础

    1、IO口静态特性:

    2、 上下拉电阻

    3、STM32官网:

    4、内核与存储器

    5、时钟、复位和电源管理

    6、低功耗和ADC

    7、DMA和IO端口

    8、调试模式和定时器

    9、看门狗和滴答定时器

    10、I2C和USART接口

    11、SPI、CAN、USB接口

    12、CRC校验和芯片ID

    13、最小系统电路

    14、如何烧录程序:

    15、舵机

    1、PWM

    16、中断

    17、步进电机

     18、I2C总线

     19、定时器功能


    1、C8T6引脚图

    2、电路基础

    电源分正负极(不用区分大小写)

    正极表示:Vcc,,Vdd,+,3.3V,5V等。

    负极表示:Vss,GND,-,0V,

    高低电平

    高电平是1

    低电平是0

    TTL电平(单片机采用):小于0.4V是低电平;大于2.4V是高电平(STM32单片机2.0V~3.3V ,大于2.0V是高电平,低于0.4V是低电平),更加稳定。

    CMOS电平:更接近于3~15V高电平;更接近于0V低电平        

    输出电平

    高电平表示:3.3V,H,高电平

    低电平表示:0V,L,低电平

    1、IO口静态特性

    几乎所有的单片机周边芯片都是TTL电平

    LED亮灯

    用推挽输出驱动

    GPIO输出电流:

    GPIO吸收电流 :

    线路

    断路:本应该连接的断开了

    短路:应该断开的连接了

    短路-->如果电源正负极则电阻小电流大,会损坏电源

    短路-->如果是几条数据线会导致线上电平混乱

    2、 上下拉电阻

    上拉:接到一个电源正极的电阻

    下拉:接到一个 电源负极的电阻

    下拉电阻:

    下图按下唤醒键接通VCC电源,输入高电平,达到唤醒的效果,那么平时就需要低电平的状态,我们用一个电阻接地,由于电阻较大,那么就会提供 一个弱弱的的低电平,就会保持一个低电平的状态。按下按键后,直接接通VCC电源,下拉电阻那里提供的低电平很小,就可以忽略不计了。


     RAM:32位处理器

    3、STM32官网:

    STM32F103 | 产品 | STM32/STM8 | MCU单片机 | 意法半导体STM | STMCU中文官网https://www.stmcu.com.cn/index.php/Product/pro_detail/cat_code/STM32F103/family/81/sub_family/124/sub_child_family/142/layout/product

    STM32F103VET6: ST(公司名) M(微控制器) 32(32位微控制器) F(通用类型)

    类型:F(通用) S(简单) L(低功耗) H(高性能)

    103子系列:0-精简 1、2、3-增强 4、7-高性能 00、01、02、03、05、07(子型号)

    引脚数:C-48 R-64 V-100 Z-144 A-168 I-176 B-208 N-216

    存储量:6-32K 8-64K B-128K C-256K D-384K E-512K G-1MB I-2MB

    封装:H-BGA封装 T-LQFP封装 Y-WLCS64封装

    工作温度:6(-40~85°C ) 8-(-40~105°C)

    选项:xxx-已编程的器件代号 TR-卷带式包装


    4、内核与存储器

    SRAM:静态随机存储器 类型:RAM  存储运行中的数据 读写无延迟速度快,断电数据消失,可以写入无限次,没有写入条件,成本,容量

    FLASH:闪存程序存储器 类型:ROM 存储用户程序 读写有延迟速度慢,断电数据保存,可以写入10万次,需要先清楚再写入,成本,容量


    5、时钟、复位和电源管理

    2.0~3.6V供电:一般用3.3V

    PLL:分频器

    RTC:实时时钟(计时等效果)

    时钟:

     HSI:H-高速 S-晶振 I-內部

    HSE:H-高速 S-晶振 E-外部

    LSE:L-低速 S-晶振 E-内部

    LSI:L-低速 S-晶振 I-外部


    6、低功耗和ADC

    低功耗

     ADC:模拟/数字转换器        

    采集模拟电路数据


    7、DMA和IO端口

    DMA:解决CPU多任务的问题

    GPIO:通用输入输出接口 --多数GPIO都与数字或模拟的复用外设共用。同时所有的GPIO都有大电流通过能力。

    在需要的情况下,I/O引脚的外设功能可以通过一个特定的操作锁定,以免意外的写入I/O寄存器。

    APB2上的I/O脚可达18MHZ翻转速度(高低电平转换)

    GPIO_Mode_AIN 模拟输入 :用于ADC模拟输入,高阻,本身没有电流电压

    GPIO_Mode_IN_FLOATING 浮空输入 :不加电阻

    GPIO_Mode_IPD 下拉输入:下拉电阻

    GPIO_Mode_IPU 上拉输入 :上拉电阻

    GPIO_Mode_Out_PP 推挽输出 : 有驱动电流的输出

    GPIO_Mode_Out_OD 开漏输出 : 没有很强的驱动电流输出,只是一个电平信号

    GPIO_Mode_AF_PP 复用推挽输出 :

    GPIO_Mode_AF_OD 复用开漏输出


    8、调试模式和定时器

    调试模式

    - 串行单线调试(SWD)和JTAG接口

    SWD:只需要两条线就可以完成调试

    JATG: 需要更多的资源才可以

    定时器

    普通定时器:

    TIM2、TIM3、TIM4定时器:每一个定时器都有一个16位的自动加载递加/递减计数器、一个16位的、预分频器四个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲波模式输出,在大的封装配置中可提供12个输入捕获、输出比较或PWM通道。

    任意标准定时器都能产生PWM输出。每个定时器都有独立的DMA 请求机制。

    高级定时器:

    TIM1定时器:可以看作是6通道的三相PWM发生器


    9、看门狗和滴答定时器

    看门狗

    两个看门狗(独立的和窗口型的):检测单片机,如果单片机出现错误,就会进行复位。

    本质就是定时器,每隔一段时间就需要给看门狗喂骨头(复位),即定时器清零,让狗继续啃骨头,如果单片机程序跑起来出错,不能定时给看门狗喂骨头,狗就会叫,单片机就会复位。

    独立看门狗(LWDG):基于一个12位的递减计数器和一个8位的预分频器,它由一个内部独立的40KHz        的RC振荡器提供时钟;因为这个RC振荡器独立于主时钟,可以运行于停机和待机模式。(给出复位信号)

    可以作为复位的定时器,也可以作为普通的自由定时器。

    窗口看门狗(WWDG):有一个7位递减型计数器,可以设置为自由运行。由主时钟驱动(给出中断/复位信号)

    滴答定时器

    滴答定时器:专用于实时操作系统,也可当作一个标准的递减计数器。

    24位的递减计数器

    自动重加载功能

    当计数器为0时能产生一个可屏蔽系统中断

    可编程时钟

    10、I2C和USART接口

    I2C总线接口:能够工作于多主模式或从模式,支持标准和快速模式。

    每一个I2C从设备有一个地址,所有设备与单片机都需要供公地。      

    USART:通用同步/异步收发器

    UART:异步收发器

    最常用的是异步。

    USART只是一种协议方式,根据不同的电平方式分为RS32 和 RS485等。

    11、SPI、CAN、USB接口

    SPI:两个SPI,有主从模式,可全双工和半双工,最大速度18M/s ,用3个预分频器来设置8种频率,支持SD卡的读写模式,支持DMA。 

    特点:通信协议简单稳定,速度快

    通过I/O来控制SPI设备开关。

    CAN:有一个CAN总线,位速度最高1M/s,11位标识符,29位扩展帧,3个发送邮箱,2个FIFO,3级14个滤波器        

    特点:通信速度快,距离远,稳定,自动查错。                                                                        

    每一个CAN都可以是主设备

    USB:设备控制器,有待机和唤醒功能,时钟必须由外部高速晶振产生。

    12、CRC校验和芯片ID

    CRC:用于数据正确性的校验,对于要加载的数据进行处理得到一个计算结果,再将这个数据和计算结果一起发送过去,接收端的数据通过CRC再进行处理,再将处理的计算结果和发送端CRC的结果比较,如果两者相同则数据正确,否则数据错误。

    96位的芯片唯一代码:24位十六进制数,每一个芯片的编码是唯一的

    • 用来作产品的序列号
    • 用来作为密码,提高安全性
    • 用来保护程序的不可复制性

    13、最小系统电路

    内核;

    存储器;

    时钟电路:

    复位电路:

    电源电路:

    14、如何烧录程序:

    将电脑的接收/发送端和单片机的发送端/接收端;

    RX/RXD:接收端;

    TX/TXD:  发送端;

    单片机:PA9(发送端),PA10(接受端);

    同时需要GND共地;

    启动模式的设置:

    BOOT0/BOOT1:电平变化组合来决定启动模式

     固件库安装:

     用户程序存放在FLASH中

    固件库:底层驱动程序

    *STM32的程序编写方式: 

    按键:

     蜂鸣器:

     

    MIDI音乐 :

    USART驱动程序:

    FT232可以直接将USB转成USART串口,也可以将USART转成USE串口,可以实现电脑和单片机的直接连接;

    5V转TTL电平

    USART发送数据:

    15、舵机

    1、PWM

    CNT:计数值

    CCRx;设定的值

    ARR:溢出值

    16、中断

    什么是中断?

    中断是指一个突发事件,终止了CPU当前的工作,转而处理突发事件,处理完成后,再回到当前的工作继续执行。

    STM32允许多种多样的中断,如外部IO、ADC、USART、I2C、RTC、PVD等。

    • STMF1支持所有的GPIO设置为中断输入
    • 外部IO可由上沿、下沿、高低电平的三种方式触发
    • 可选择中断或事件触发

    上沿:电平从低电平瞬间变为高电平

    下沿:电平从高电平瞬间变为低电平

    高低电平:电平从低到高或者从高到低都会产生中断

     NVIC:嵌套向量中断的控制器

    EXTI:  外部IO中断事件控制器

     优先级

    优先级分组:

    17、步进电机

    通过高低电平控制磁性:com输入高电平

     18、I2C总线

     19、定时器功能

    定时器:

    捕获器:

     

     输出 比较器:

  • 相关阅读:
    ArcGIS小技巧|四种计算图斑面积的方法
    一遍关于vue基础语法下篇
    KO之间互相调用
    opencv 机器学习-人脸识别
    [力扣] 剑指 Offer 第一天 - 包含min函数的栈
    Prometheus入门与实战
    风管静压箱的作用及选型
    SpringAOP源码解析之advice构建排序(二)
    MySQL数据库基础01
    java基于ssm+vue的家政服务在线预约管理系统 element
  • 原文地址:https://blog.csdn.net/weixin_63246064/article/details/126735343