《STM32学习笔记》1——基础知识及理论

前言:之前无论是学习还是使用STM32,都是囫囵吞枣,浅尝辄止,大多数知识都是知其然不知其所以然的状态。因此,这段时间打算系统学一下STM32。相对来说,STM32知识还是很繁杂的,因此选择了提纲挈领的“洋桃”的课程(b站的STM32入门100步,相对原子野火更简短精要,但细节、全面性上肯定不如它们),先把整体知识脉络都过一遍,有一个框架性的把握,学完以后再找机会进一步加强夯实。
因此,文中的图片知识,大多数来自视频的截图(来自洋桃电子)。

欢迎大家批评指正!

一、ARM内核框架

Cortex 系列

A系列——高性能用途,面向尖端的基于虚拟内存的操作系统和用户应用
R系列——实时系统
M系列——低功耗、嵌入式用途

ARM公司只生产架构,不做具体芯片

二、STM32简介

1 主要ARM Cortex-M 处理器

Cortex-M0、M1 主要用于低功耗
Cortex-M3 中端
Cortex-M4 较高端

2 芯片厂商

ST 意法半导体比较常见,市场较广

STM32F0——ARM Cortex-M0
STM32F1——ARM Cortex-M3
STM32F4——ARM Cortex-M4

ST官网可以查阅相关芯片参数信息

3 命名规范

三、内核与存储器

1 补充信息:数据手册的使用

  • 数据手册的首页——基本功能、优势、相应型号
  • 目录
  • 详细介绍
  • F1 - 72M主频
    F4 - 108M主频

2 flash、sram

  • SD、TF卡都是Flash结构
  • STM32F1 有 : 64k或128k字节的flash ; 20k字节的SRAM

四、时钟、复位、电源管理

1 电源管理

基本供电: 2.0 - 3.6V 供电(3.3V
一些IO:兼容 5V

2 时钟管理(时钟树)

五、低功耗和ADC

1 低功耗

睡眠、停机、待机模式

2 ADC

  • 2个12位ADC ,每个ADC共用多达16个外部通道
  • 可DMA

六、DMA 和 IO

1 DMA

简言之,在不用CPU的情况下暂存数据

  • 7通道DMA控制器
  • 支持外设:定时器、ADC、SPI、IIC、USART
  • 可以在 存储器到存储器、设备到存储器、存储器到设备 的 数据传输。
    每个通道有硬件请求逻辑,因此DMA是硬件完成的,不必软件参与。 软件可以触发通道。

2 I/O

  • 26/37/51/80 个 I/O (对应不同引脚数的芯片)
  • 所有I/O都可以映射到16个外部中断
  • 几乎所有端口都可以忍受5V信号

3 GPIO

通用输入输出接口 说法不同而已

3.1 模式配置

GPIO引脚可由软件配置模式:

  • 输出:推挽 / 开漏
  • 输入: 带或者不带 上拉或者下拉
  • 复用的功能(复用的外设)
  • 除模拟输入端口,所有GPIO引脚都有大电流通过能力
  • I/O引脚的外设功能可锁定
  • APB2上的I/O可达18MHz的翻转速度

上拉/下拉——10k电阻
推挽——高强度,大电流输出

3.2 分组

GPIO 分组:PA0-15 、PB0-15 、PC0-15 、PD0-15 、PE0-15

七、调试模式和定时器

1 调试模式

串行单线调试SWD(接线少,更常用) 和 JTAG接口

2 定时器

  • 3个16位定时器(普通)——每个有 4个 输入捕获 / 输出比较 / PWM或脉冲计数 的通道
    TIMx(2、3、4) 每个定时器都有独立的DMA请求机制
  • 1个16位定时器(高级控制)—— 用于电机控制(带死区控制 紧急刹车 )
    TIM1
  • 2个看门狗定时器——独立的、窗口型的 ,正常工作会定时喂狗(清零),否则到点会复位单片机
    独立:内部独立40khz RC 振荡器;
    窗口:主时钟驱动
  • 1个系统滴答定时器
    专用于实时操作系统 24位递减

八、IIC 和 USART

2个IIC、3个USART

1 IIC

多主模式或从模式,支持标准和快速模式

2 USART

USART :通用同步/异步收发器(带同步时钟线)
UART : 通用异步收发器(没有同步时钟线)

  • 常用异步模式,两者区别不大
  • 所有USART 支持DMA
  • USART 只是一种协议 , 根据不同电平方式可分为RS232、RS485(两者都是一种串行通信模式的扩展接口

九、SPI 、CAN、USB接口

1 SPI

中文名:串行外设接口

  • 有2个SPI
  • 主从两种模式
  • 可全双工和半双工
  • 最大通信速率 18M/S
  • 3个预分频器,设置8种频率
  • 主持 DMA
  • SPI 用于板级设备间通信
  • SPI特点:协议简单稳定,速度较快
  • 片选 CS 口不并联,通信速度比IIC更快

2 CAN

中文名:控制器区域网络

  • 有1个CAN总线
  • 没有主从的硬性设置(每个设备平等)
  • 最高 1M/S
  • 收发 11位标识符的标准帧,以及 29位标识符的扩展帧
  • 特点:协议较复杂,通信速度快、距离远,稳定。自动查错
  • 常用于汽车、工业级的智能设备通信 (楼道的可视门铃,道路上的摄像头等)

3 USB

中文名: 通用串行总线

  • 一个USB接口,只可做设备控制器(只能作为类似键盘鼠标的外接设备)
  • 2.0 全速 12M/s
  • 待机、唤醒功能
  • 由内部PLL倍频器提供时钟

十、CRC校验和芯片ID

1 CRC 计算单元

中文名 : 循环冗余校验码(Cyclic Redundancy Check)

  • 用于数据传输正确性检错。
  • 由一个32位的数据字产生
  • 可应用在FLASH检测
  • 可用于软件签名及对比

2 芯片ID

  • 96位编码
  • 作用:产品序列号、密码、保护程序不可被复制

十一、前面内容总结回顾

1 模块划分

2 其他功能

2.1 NVIC

中文名:嵌套的向量式中断控制器

  • F103 可以处理 43个可屏蔽中断通道和16个优先级
2.2 EXTI

中文名: 外部中断/时间控制器

  • 含有19个边沿检测器,用于产生中断/时间请求
2.3 自举模式

启动时,在自举引脚可选择自举模式:

  • 从程序闪存存储器自举
  • 从系统存储器自举
  • 从内部SRAM自举
2.4 时钟和启动
  • AHB-高性能总线,用于CPU、DMA、DSP(数字信号处理)的通信
  • APB-外围总线,用于内部其他功能的通信
  • APB分为高速APB2和低速APB1

3 总体功能模块图

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

frozendure

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值