学习资料来源自"洋桃电子"的《STM32入门100步——杜洋ARM单片机》课程,该文章经过本人整理并加入了个人见解
附上《STM32入门100步——杜洋ARM单片机》网易云课堂上的课程地址
https://study.163.com/course/courseMain.htm?courseId=1004569044
以下接口设置以STM32F103为例
内核和存储器
内核:ARM 32位的Cortex-M3 CPU
- 最高72MHz工作频率
- 单周期乘法和硬件除法(即乘法和除法运算能由硬件直接完成)
存储器
- 64K或128K字节的FLASH(闪存程序存储器,外存)
- 20K字节的SRAM(内存)
时钟、复位和电源管理
简谈CPU时钟:CPU在每一个方波周期之内执行一条指令
- 51单片机供电电压是5V,而STM32供电电压为2.0~3.6V
- 上电/断电复位(POR/PDR)、可编程电压监测器(PVD)
- HSE外部高速晶体振荡器:外接4~16MHz晶体振荡器
- HSI内部高速RC振荡器:内嵌经出厂调校的8MHz的RC振荡器(给ARM内核提供的系统时钟)
- LSI内部低速RC振荡器:内嵌带校准的40kHz的RC振荡器(给RTC使用的低速时钟)
- 产生CPU时钟的PLL(锁相回路,产生分频,把一个频率分出多个,实现倍频的功能。比如外部晶振提供4MHz时钟信号,通过PLL分频后,比如分成三份,就能得到3×4=12MHz的时钟信号输出)
- LSE外部低速晶体振荡器:带校准功能的32kHz RTC振荡器(单片机内部实时时钟RTC的工作频率)
H代表高速(High),L代表低速(Low);E代表外部(External),I代表内部(Interior)
凡是高速的,都给系统时钟,即提供ARM内核的工作 时钟树低功耗
ADC(模/数转换器)
- 2个12位ADC
- 每个ADC共用多达16个外部通道
- 扫描模式,自动进行在选定一组模拟输入上的转换
- 支持DMA
DMA(直接存储器访问)
它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载
- 7通道DMA控制器
- 支持的外设:定时器、ADC、SPI、I2C和USART
- 管理存储器→存储器、设备→存储器、存储器→设备的数据传输
GPIO(通用输入输出接口)
- 37个I/O口
- 所有I/O口可以映像到16个外部中断
- 大部分端口均可兼容5V信号
- 除了具有模拟输入功能的端口,所有GPIO引脚都有大电流通过能力
- I/O引脚可以通过一个特定的操作锁定,以避免意外写入I/O寄存器
- 在APB2上的I/O脚可达18MHz的翻转速度(高低电平切换频率)
定时器
1个高级控制定时器
3个普通定时器
2个看门狗定时器
1个系统嘀嗒定时器
1个高级控制定时器(TIM1)
- 16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器
3个普通定时器,即可3个同步运行的标准定时器(TIM2、TIM3、TIM4)
- 16位自动加载递加/递减计数器
- 16位预分频器
- 4个独立通道,每个通道可用于输入捕获、输出比较、PWM、单脉冲模式
2个看门狗定时器
- 每隔一定时间就要“叫”,CPU如果正常工作,在它要“叫”的时候就“喂狗”,不让它叫。
- 如果CPU非正常工作,就无法"喂狗",看门狗就“叫”CPU复位运行
1个系统嘀嗒定时器
- 24位递减计数器,自动重装
- 实时操作系统,实现任务调度
- 用于延时函数
I2C(双向二线制同步串行总线)
- 2个I2C接口
- 能够工作多主模式和从模式下
- 支持7位或10位寻址
- 7位从模式时支持双从地址寻址
- 支持DMA
USART(通用同步/异步收发器)
- 3个USART接口
- USART是同步/异步收发器(带同步时钟线USART_CK)
- UART是通用异步收发器(没有同步时钟线)
- 但最常用的是异步模式,同步模式很少用,所以二者区别不大
- USART只是一种协议方式,根据不同电平方式分为RS232和RS485等
- 支持DMA
SPI(串行外设接口)
SPI用于板级设备间通信。优点:协议简单稳定,速度较快。
- 2个SPI
- 有主从两种模式
- 可全双工和半双工
- 最大速度18M/S
- 用3个预分频器来设置8中频率
- 支持SD卡的读写模式
- 支持DMA
CAN(控制器区域网络)
CAN用于汽车、工业的只能设备通信。优点:通信速度快、距离远、稳定、自动查错。
- 没有主从的硬性设置
- 有1个CAN总线
- 位速度最高1M位/s
- 11位标识符
- 29位扩展帧
- 3个发送邮箱
- 2个FIFO
- 3级14个滤波器
USB(通用串行总线)
USB接口用于做PC机的从设备如鼠标、键盘、打印机之类。
- 1个USB接口
- 设备控制器
- 支持全速2.0,12M位/s
- 有待机和唤醒功能
- 由内部PLL倍频器提供时钟
- 时钟必须由外部告诉晶振产生
网友评论