stm32

stm32中的小常识

最小系统板

最小系统板由:电源、存储、芯片、时钟组成

绘制一个最小系统板一般需要包含如下模块:

  1. 5->3.3v降压电路
  2. 复位电路
  3. 自动下载电路
  4. usb转串口
  5. tf卡
  6. type-c电路
  7. led灯

经验

  1. 一般在stm32中,除开系统外设即位于内核里面的外设是不需要开启时钟的如(NVIC),其他的,什么片上外设都是需要开启时钟的。
  2. 使用一个stm32片上外设的基本步骤:
    1. 使用RCC函数开时钟
    2. 定义结构体,开始配置
    3. 使用Init函数完成初始化
    4. 使用cmd函数打开这个外设
  3. 常见的波特率为4800、9600、115200等。
  4. 1Mhz ~ 1us
  5. 通用外设配置方法
    1. 初始化:进行外设配置
    2. 编写读函数
    3. 编写写函数
    4. 编写中断服务函数

扩展阅读

STM32硬件开发指南

TF卡引脚定义

shell引脚作用是固定

TYPE-C引脚定义

如何学习一个外设

  1. 其的功能
  2. 有哪些引脚,以及引脚的作用
  3. 配置结构体中参数的含义

其他知识点

  1. 关于预分频、分频、倍频
  • 预分频:预分频是指在输入信号到达某个模块之前对信号进行分频。预分频可以用于降低信号频率,以适应模块的工作频率范围。预分频通常用于时钟信号的处理,以便将高频率的时钟信号转换为模块所需的低频信号。
  • 分频:将输出的频率下降
  • 倍频:将输出的频率上升

其实分频器就是一个计数器,需要分n的频,就需要来n次脉冲,然后再发送一次脉冲。

  1. 影子寄存器:在stm32中有一种寄存器称之为影子,这表示在物理上这个寄存器对应2个寄存器:一个是我们可以写入或读出的寄存器,称为预装载寄存器,另一个是我们看不见的、无法真正对其读写操作的,但在使用中真正起作用的寄存器,称为影子寄存器.
    数据手册介绍预装载寄存器的内容可以随时传送到影子寄存器,即两者是连通的(permanently),或者在每一次更新事件(UEV)时才把预装载寄存器的内容传送到影子寄存器。

    设计预装载寄存器和影子寄存器的好处是,所有真正需要起作用的寄存器(影子寄存器)可以在同一个时间(发生更新事件时)被更新为所对应的预装载寄存器的内容,这样可以保证多个通道的操作能够准确地同步。如果没有影子寄存器,软件更新预装载寄存器时,则同时更新了真正操作的寄存器,因为软件不可能在一个相同的时刻同时更新多个寄存器,结果造成多个通道的时序不能同步,如果再加上例如中断等其它因素,多个通道的时序关系有可能会混乱,造成是不可预知的结果。

  2. 关于PWM,PWM的全称是脉冲宽度调制。PWM只可以应用于具有惯性的系统中,实际上就是不会瞬间跳变的系统。比如说:电机调速(电机断电之后不会马上停止)、LED呼吸灯(LED灯具有余晖,并且只要速度够快人眼根本看不出来是否开关)

    所以PWM实际上就是一个快字

    几个重要的PWM参数:

    • 频率,一个高电平(也可以是低电平)到下一次高电平(或者是低电平)之间的周期的倒数
    • 占空比,高电平所用的时间在一个周期中的时间比例
    • 分辨率,就是占空比的变化步距,每次占空比可以变化多少。如占空比以:10% 10.1% 10.2%的样子来变化则分辨率是0.1
  3. 在stm32中如果自己操作寄存器的话:

    • 设置位(一般为设置为1)使用 |=
    • 清除位(一般为设置为0)使用 &=
      1
      2
      3
      4
      5
      #define SET_BIT(REG, BIT)     ((REG) |= (BIT))

      #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))

      #define READ_BIT(REG, BIT) ((REG) & (BIT))
    1. Stm32中的引脚类型:
    2. 电源引脚:以 V 开头的 Vdd Vss 等等
    3. 晶振引脚:名字中有 OSC
    4. 复位引脚:NRST
    5. 下载引脚:串口下载、SWD下载、JTAG下载
    6. BOOT引脚:BOOT0、BOOT1
    7. GPIO引脚
  4. 在 stm32 中使用函数 printf 实际上是非常耗时间的事情,所以我们在实际产品开发中还是要少用这个函数


stm32
https://ysc2.github.io/ysc2.github.io/2023/10/29/stm32/
作者
Ysc
发布于
2023年10月29日
许可协议