STM32简介
STM32是ST公司基于ARMCortex-M内核开发的32位微控制器 (Microcontroller)
MCU微控制器、MPU微处理器、CPU中央处理器
1.应用领域
STM32常应用于嵌入式领域。
如智能车:循迹小车 读取光电传感器或者摄像头的数据,然后驱动电机前进和转弯。
无人机:用STM32读取陀螺仪加速度计的姿态数据 根据控制算法去控制电机的速度,从而保证飞机稳定飞行。
机器人:用STM32驱动舵机,控制机器人的关节,然后让机器人运动。
无线通信:给STM32连接上一些2.4G无线模块或者蓝牙、WIFI模块这样STM32就可以具备无线通信的能力了。
物联网:借助这些无线模块进行通信如蓝牙、WIFI、ZigBee等等再通过STM32驱动继电器来控制220V电路的通断。
工业控制:PLC控制。
娱乐电子产品:流水灯等等。
2.功能特点
STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器。
ARM公司
1.ARM公司即指ARM公司,也指ARM处理器内核。
2.ARM公司是全球领先的半导体知识产权**(IP)提供商** ,全世界超过95%的智能手机和平板电脑都在采用ARM架构。
3.ARM公司设计ARM内核,半导体厂商完善内核周边电路并产生芯片。
【ARM】Cortex产品系列
Cortex-A主要满足应用和多任务处理 手机、平板
Cortex-R 主要用于实时通信 飞机对实时性要求高的会选择这类架构的芯片
C ortex-M主要用于低功耗、均衡性能的产品 嵌入式设备的控制和物联网
R和M系列适合用于嵌入式领域,A系列适用于高端应用领域
现在的手机芯片:苹果【APPLE】A系列、联发科【台湾MTK】天玑 、高通【美国高通】骁龙
STM32F103C8T6
1.系列:主流系列STM32F1
2.内核:ARM Cortex-M3
3.主频:72MHz
4.RAM:20K(SRAM)(数据存储器)
5.ROM:64K(Flash)(程序存储器)
6.供电:2.0~3.6V(标准3.3V)
7.封装:LQFP48
片上资源/外设
STM32可以加入操作系统(FreeRTOS、UCOS)
NVIC:是内核里面用于管理中断的设备,比如配置中断优先级
SysTick:系统滴答定时器,是内核里面的一个定时器,主要用来给操作系统提供定时服务的,用了如FreeRTOS操作系统需要SysTick提供定时来进行任务切换的功能,可以用定时器完成delay函数的功能。
RCC:可以对系统的时钟进行配置,还有就是使能各模块的时钟 在STM32中其他的外设在上电的情况下,默认是没有时钟的,不给时钟的情况下,操作外设是无效的,外设也不会工作,这样的目的是降低功耗,所以在操作之前,必须先使能它的时钟。
GPIO:就是通用的IO口,我们可以用GPIO来点灯,读取按键等。
AFIO:是复用IO口,它可以完成复用功能端口的重定义,还有中断端口的配置。
EXTI:外部中断,配置好外部中断后,当引脚有电平变化时,就可以触发中断,让CPU来处理任务。
TIM:定时器,这也是整个STM32最常用、功能最多的外设,TIM分为高级定时器、通用定时器、基本定时器三种类型,其中高级定时器最复杂,常用的是通用定时器,这个定时器不仅可以完成定时中断的任务,还可以完成测频率、生成PWM波形(电机驱动、舵机驱动)、配置成专用的编码器接口等功能。
ADC:模数转换器,这个STM32内置了12位的AD转换器,可以直接读取IO口的模拟电压值,无需外部连接AD芯片,使用非常方便。
DMA:是直接内存访问,可以帮助CPU完成搬运大量数据这样的繁杂任务。
USART:是同步或者异步串口,我们平常用的UART是异步串口的意思,这里的USART是即支持异步串口,也支持同步串口(实际用异步串口比较多)。
I2C和SPI:是非常常用的两种通讯协议,STM32也内置了它们的控制器,可以用硬件来输出时序波形,使用起来更高效,当然用通用IO口来模拟时许波形也是没有问题的。
CAN和USB:也是通讯协议,CAN通信一般用于汽车领域,USB数据传输(生活中到处都是)利用STM32的USB外设,可以做一个模拟鼠标、模拟U盘等设备。
RTC:实时时钟,在STM32内部完成年月日、时分秒的计时功能,并且可以接外部备用电池,即使掉电也能正常运行。
CRC:是一种数据的校验方式,用于判断数据的正确性,有了这个外设的支持,进行CRC校验就会更加方便一些。
PWR:电源控制,可以让芯片进入睡眠模式等状态,来达到省电的目的。
BKP:备份寄存器,这是一段存储器,当系统掉电时,仍可由备用电池保持数据,这个根据需要,可以完成一些特殊功能。
IWDG和WWDG:是独立的开门狗和窗口看门狗,当单片机因为电磁干扰死机或者程序设计不合理出现死循环时,看门狗可以及时复位芯片,保证系统的稳定。
DAC:是数模转换器,它可以在IO口直接输出模拟电压,是ADC模数转换的逆过程。
SDIO:是SD卡接口,可以用来读取SD卡。
FSMC:是可变静态存储控制器,可以用于扩展内存。或者配置成其他总线协议,用于某些硬件的操作。
USB OTG:就是USB主机接口,用OTG功能,可以让STM32作为USB主机去读取其他USB设备。
命名规则
STM32 F 103 C 8 T 6
产品系列
STM32:基于ARM核心的32位微控制器
产品类型
F:通用类型
产品子系列
101:基本型
102:USB基本型,USB 2.0全速设备
103:增强型
105或107:互联型
引脚数目
T:36脚
C:48脚
R:64脚
V:100脚
Z:144脚
闪存存储器容量
4:16K字节的闪存存储器
6:32K字节的闪存存储器
8:64K字节的闪存存储器
B:128K字节的闪存存储器
C:256K字节的闪存存储器
D:384K字节的闪存存储器
E:512K字节的闪存存储器
封装
H:BGA
T:LQFP
U:VFQFFPN
Y:WLCSP64
温度范围
6:工业级温度范围,-40℃~85℃
7:工业级温度范围,-40℃~105℃
系统结构
引脚定义
S代表电源 I代表输入 O代表输出 IO代表输入输出 FT代表需要接5V电源,没有FT的表示接入3.3V电源
主功能代表上电后默认的功能