STM32简介

189 阅读3分钟

STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器

其中ARM既指ARM公司,也指ARM处理器内核

image.png

STM32F103C8T6

image.png

片上资源、外设:

image.png

系统结构

image.png

引脚定义

image.png

其中标红为电源相关引脚,标蓝为最小系统相关引脚,标绿为IO口、功能口引脚

类型:S代表电源,I代表输入,O代表输出,IO代表输入输出。 I/O口电平:IO口所能容忍的电压,FT表示能容忍5V电压,没有FT的表示只能容忍3.3V电压;没有FT还需要接5V电平时,需要加装电平转换电路

重定义功能:如果两个功能负载一个IO口上,那么可以吧其中一个复用功能映射到其他端口上

70ed8200ea0a6e1bad8418395046075.jpg 引脚功能解释:

1:备用电池供电引脚,可以接一个3V电池。系统断电时,备用电池可以给内部的RTC时钟和备份寄存器提供电源。
2:IO口或者侵入检测RTC,IO口可以根据程序输出或读取高低电平;RTC的引脚可以输出RTC校准时钟、RTC闹钟
3-4:IO口或者接32.768KHz的RTC晶振
5-6:系统的主晶振,一般是8MHz,芯片内有锁相环电路,可以对8MHz进行倍频,最终产生72MHz的频率,作为系统主时钟
7:NRST是系统复位引脚,N代表低电平复位的
8-9:内部模拟部分电源,比如ADC、RC振荡器等。VSSA是负极,接GUD,VDD是正极,接3.3V。
10-19:IO口。其中PA0兼具了WKUP功能,能唤醒处于待机模式的STM32
20:IO口或者BOOT1引脚。BOOT引脚用于配置系统启动模式
优先使用加粗字体的这些IO口,没有加粗的IO口可能需要配置和兼具其他功能。
21-22:IO口。
23-24:VSS_1和VDD_1是系统的主电源口,VSS负极VDD正极。由于STM32采用分区供电,下方供电口同理
25-33:IO口。
34、37-40:IO口或者调试端口,默认主功能是调试端口,调试程序和下载程序的。STM32至此SWD和JTAG两张调试方式,我们使用STLINK对应SWD,只占用PA13、PA14这两个IO口,在使用SWD调试方式时,PA13\PB3\PB4可以在配置后切换为普通IO口使用。
41-43、45-46:IO口。
44:BOOT0和BOOT1都是负责系统配置的。

STM32启动配置(BOOT0、BOOT1;两根引脚的功能)

image.png

作用:制定程序开始运行的位置,默认在Flash程序存储器开始执行。

STM32最小系统电路(最基本的电路)

![image.png](p6-juejin.byteimg.com/tos-cn-i-k3…

目前的STM32开发方式主要有:基于寄存器的方式、基于库函数的方式、基于HAL库的方式。

基于寄存器的方式:程序直接配置寄存器,达到想要的功能。但stm32寄存器太多,需要翻阅手册。 基于标准库的方式:利于学习。 基于HAL的方式:可以用图形化界面快速配置STM32,比较适合快速上手STM32,但隐藏了底层逻辑。