第一章 STM32 综述
1. STM32 是 ST 公司基于 ARM Cortex-M 内核开发的 32 位微控制器(MCU)。这里的 STM 中的 ST 指的是 ST 公司,而 M 是微控制器单词的首字母,32 即指 32 位。
2. 本次课程采用的是 STM32F1 系列,属于 Mainstream ,内核为 Cortex-M3 。ARM 公司设计 ARM 内核,半导体厂商完善内核周边电路并产生芯片。
3. 绿色的部分是 ARM 公司设计的,右边的部分是 ST 公司设计的外围电路。
4. STM32F103C8T6:
① 系列:主流系列 STM32F1
② 内核:ARM Cortex-M3
③ 主频:72MHz
④ RAM:20K(指运行内存,这是用于存储临时数据和程序运行时的变量,实际存储介质是 SARM )
⑤ ROM:64K(指程序存储器,实际存储介质是 Flash 闪存)
⑥ 供电:2.0-3.6V(标准 3.3V),区别于 51 单片机的 5V 供电
⑦ 封装:LQFP48,这表示芯片采用的是 LQFP 封装形式,48 个引脚
5. 片上资源 / 外设:
(1) NVIC:内核里面用于管理中断的设备,例如配置中断优先级。
(2) SysTick:用来给操作系统提供定时服务的,因为 STM32 可以加入 FreeRTOS、UCOS 等操作系统,利用 SysTick 提供定时进行任务切换功能(本次课用 SysTick 完成 Delay 函数功能)。
(3) RCC:复位和时钟控制,可以对系统的时钟进行配置,还使能各模块的时钟。在 STM32 中,外设上电后是默认没有时钟的,无时钟,外设就无效。因此,在操作外设之前必须使能其时钟。
(4) GPIO:通用的 IO 口,进行点灯,读取按键等。
(5) AFIO:是复用 IO 口,完成复用功能端口的重定义,还有中断端口的配置。
(6) EXIT:配置好外部中断后,当引脚有电平变化时,就可以触发中断,让 CPU 来处理任务。
(7) TIM 定时器:分为高级定时器、通用定时器、基本定时器,不仅可以完成定时中断的任务,还可以完成测频率,生成 PWM 波形,配置为专用的编译器接口。
(8) ADC:模数转换器,这个 STM32 内置了 12 位的 AD 转换器,可以直接读取 IO 口的模拟电压值,无需外置。
(9) DMA:直接内存访问,可以帮助 CPU 搬运大量数据这样的繁杂任务。
(10) USART:同步 / 异步串口通信,既支持异步串口,也支持同步串口。
(11) I2C / SPI :两种 STM32 常见的通信协议。
(12) RTC:实时时钟,在 STM32 完成时、分、秒的计时功能,还可以接外部电池,即使掉电也能正常运行。
(13) CRC:一种数据的检验方式,用于判断数据的正确性。
(14) IWDG / WWDG:当单片机因电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位,保证系统的稳定。
(15) DAC:数模转换器,它可以在 IO 口直接输出模拟电压。
(16) OTG:让 STM32 作为 USB 主机去读取其他 USB 设备。
6. 命名规则:
① 举例:STM32F103RCT6:64 引脚,256K 字节内存,LQFP 封装,-40℃ – 85℃ 。
7. 系统结构:
(1) Cortex – M3 处理器核心:
(2) DMA:
(3) AHB:
(4) Flash 和 SRAM:
(5) APB:
(6) 代码执行(ICode & DCode):
8. 引脚定义:
(1) 红色是电源相关的引脚,蓝色是最小系统相关的引脚,绿色是 IO口/功能口相关的引脚。
(2) S代表电源,I/O 代表输入输出,I/O 电平代表所能容忍的电压,FT代表能容忍 5V 。
(3) 默认复用功能是指 STM32F103C8T6 芯片上的许多I/O引脚在默认情况下,既可以作为普通的输入/输出口(GPIO)使用,也可以与外部设备的功能进行复用。具体来说,这些引脚在物理上已经连接到外设(如USART、SPI、I2C、ADC等),但通过配置,可以选择是否将它们用作这些外设的引脚,或者仅作为普通的数字I/O引脚来使用。
(4) 重定义功能是指如果有 2 个功能同时复用在了一个 IO 口上,可以把其中一个复用功能重映射到其他端口上。
(5) 引脚介绍:
9. 启动配置:
(1) 在 STM32F103 微控制器中,可以通过 BOOT0 和 BOOT1 引脚的组合状态选择三种不同的启动模式。
(2) 这段话的意思是:系统恢复后,有一个时钟信号(叫SYSCLK),它的第 4 个上升沿会发生变化。系统的启动过程涉及一个叫 BOOT 的引脚,恢复过程中,这个引脚的值会被锁定,也就是说它不会发生变化。用户可以设置另一个引脚 BOOT1 ,来选择系统恢复后要进入的启动模式。BOOT0 的引脚状态也会影响恢复后的启动模式,但它只有在 BOOT 引脚配置正确时才有效。
(3) 接1 指 3.3V 电源正的意思,一般情况下,程序是在 Flash 程序存储器开始执行。
作者:四谎真好看