STM32
1、stm32芯片由内核和外设构成
2、e.g.:STM32F103C8T6
F=通用类型
103(产品子系列)
[101=基本型
102=USB基本型,USB2.0全速设备
103=增强型
105或107=互联型]
C(引脚数目)
【T=36脚
C=48脚
R=64脚
V=100脚
Z=144脚】
8(闪存存储器容量)
【4=16K字节的闪存存储器
6=32K字节的闪存存储器
8=64K字节的闪存存储器
B=128K字节的闪存存储器
C=256K字节的闪存存储器
D=384K字节的闪存存储器
E=512K字节的闪存存储器】
T(封装)
H=BGA
T=LQFP
U=VFQFPN
Y=WLCSP64
6(温度范围)
6 = 工业温度范围,-40°C~85°C
7 = 工业温度范围,-40°C~105°C
keil中工程中所有引用到了的头文件的路径必须包含且包含到最后一集目录。
GPIO
(FT):即IO口可以容忍5v;e.g.:比如输出只能3.3v,但在IO口加上5v;就也可以识别
(大部分的IO口可以容忍5v)
GPIO工作方式:
(1)4种输入模式
①输入浮空
②输入上拉
(与浮空输入区别:接上了上边的那个开关,并加了一个上拉电阻【30-50k】)
③输入下拉(与上拉输入相反)
④模拟输入
(电源0-3.3v)
(2)4种输出模式
①开漏输出
由输出数据寄存器控制
1或者0是由决定(控制)的
输出控制电路为1,则N-MOS无效;电频由外部的上拉或下拉电压决定
输出控制电路为0,则N-MOS开启即有效; 就被拉到vss,IO端口低电平有效
②开漏复用功能
(与“开漏输出”类似;区别:0/1的来源:)
③推挽式输出
由输出数据寄存器控制
输出控制电路为1,则P-MOS导通,N-MOS截止;则IO口输出1
输出控制电路为0,则P-MOS截止,N-MOS导通;则IO口输出0
④推挽式复用功能
(与“推挽式输出”类似;区别同样在于:由“复用功能输出”控制)
区别:
推挽输出:
可以输出强高低电平,连接数字器件
开漏输出:
只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极.要得到高电平状态需要上拉电阻才行.适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)
(3)3种最大翻转速度
2MHZ
10MHZ
50MHZ
GPIO相关配置寄存器
*除了00以外其他是输出模式
IDR寄存器低16位,每个位控制该组IO的一个IO口。对应的是IO口的输入电平。
ODR寄存器跟IDR相反,是控制IO口输出。低16位每个位控制一个IO口的输出电平高或低。
(ODR寄存器在输入模式中还可以配置是上拉or下拉)
BSRR寄存器(端口位设置/清除寄存器)低16位,对应位设置为1,那么IO口输出为高电平,对应位设置为0,对应IO口不产生任何影响。高16位作用相反。
BRR寄存器(端口位清除寄存器)作用跟BSRR寄存器的高位作用一样
STM32引脚说明
端口复用:
一些端口不仅仅可以做为通用IO口,还可以复用为一些外设引脚,比如PA9,PA10可以复用为STM32的串口资源(作用:最大限度的利用端口资源)
端口重映射:
就是可以把某些功能引脚映射到其他引脚。比加串口1默认引脚是PA9 ,PA10可以通过配詈重映射映到PB6,PB7(作用:方便布线)
*所有IO口都可以作为中断输入