1.低功耗
睡眠,停机和待机模式
睡眠模式:关闭了ARM内核;
通过所有外部和内部的中断/事件来唤醒。
停机模式:关闭了ARM内核,内部所有功能,PLL分频器,HSE;
通过外部中断输入口EXTI(16个I/O之一),电源电压监控中断PVD,RTC闹钟,USB唤醒信号。
待机模式:ARM内核,内部所有功能,PLL分频器,HSE,SRAM(储存数据储存器)内容消失(程序消失);
通过NRST接口的外部复位信号,独立看门狗IWDG复位,专用唤醒WKUP引脚,RTC闹钟到时来唤醒。
2.ADC
模拟/数字转换器
内嵌2个独立的12位ADC,每个ADC共用16个外部通道,
在扫描模式下,自动进行在选定的一组模拟输入上的转换。
ADC可以使用DMA操作
DMA(把ADC的值直接读入SRAM中,单片机的小助手。)
3.DMA
7通道DMA控制器,支持外设:定时器,ADC,SPI总线,USART串口等
可以管理存储器到存储器、设备到储存器和储存器到设备的数据传输,
每个通道有专门的硬件DMA请求逻辑,由软件出发每个通道。
多达80个快速I/O端口,所有IO端口可以映射到16个外部中断;几乎所有端口均可以兼容5V信号。
4. 通用输入输出接口(GPIO)
可由软件设置成多种的工作模式,多数GPIO引脚都有数字或模拟的复用外设共用。
除了具有模拟输入功能的端口,所有GPIO引脚都有大电流通过能力;
外部功能可以进行锁定,避免错误修改。
5.调试模式
串行单线调试(SWD)和JTAG接口
内嵌ARM的SWJ-DP接口,和内核沟通连接的,
6.定时器
3个16位定时器,每个定时器有多大4个用于捕获或输出比较PWM或脉冲计数的通道和增量编码器输入;
–1个16位带死区控制和紧急刹车,用于电机控制的PWM的高级控制定时器,
–2个看门狗定时器
–系统的时间定时器:24位自减型计数器
通用定时器(TIMx)
TIM2,TIM3,TIM4,三个可同步运行的标准定时器。
任一标准定时器都能用于产生PWM输出,每个定时器都有独立的DMA请求机制。
一个16位预分频器和4个独立的通道,每个通道都可用于输入捕获,输出比较,PWM和单脉冲模式输出。
高级定时器(TIM1)
有互补输出。
7.看门狗
独立看门狗:基于一个12位的递减计数器和一个8位的预分频器;
有一个内部独立的40KHZ的RC振荡器提供时钟;
他可以运行与停机和待机模式;
被当成看门狗用于在发生问题时复位整个系统;
或者作为一个自由定时器为应用程序提高超时管理;
窗口看门狗:一个7位递减计数器,设置为自由运行。
可以被当成看门狗用于发生问题时复位整个系统,有主时钟驱动。
系统时基定时器(滴答定时器):
专用于实时操作系统,可当成一个标准的递减计数器,具有可编程时钟源。
STM32包含1个高级控制定时器,3个普通定时器,2个看门狗定时器,1 个系统滴答定时器。
8.通信接口
多达9个通信接口
2个I^2c(I方C)接口(支持SMBUS和PMBus)
3个USART接口(ios7816接口等)
2个SPI解扣
CAN接口
USB2.0全速接口
I^c总线
工作在主模式和 从模式,支持标准快速模式;使用DMA操作。
通用同步异步收发器(USART)
带有同步时钟线USART-CK;支持红外线通信编码协议等;可以使用DMA操作。
USART只是一种协议方式,根据不同电平方式分为RS232和RS485等。(传输距离不一样使用的电平协议不一样)。