*NVIC & SysTick为片内资源
*NVIC:内核里面用于管理中断的设备,比如配置中断优先级这些东西
*SysTick:内核里面是一个定时器,主要用来给操作系统提供定时服务的。STM32可以加入操作系统的,比如FreeRTOS、UCOS等,如果用了这些操作系统,就需要用SysTick提供定时来进行任务切换功能,可以用这个定时器完成delay的功能
*RCC:复位和时钟控制,可以对系统的时钟进行配置,同时可以控制使能各种模块的时钟。在STM32中,其他的外设在上电的情况下默认是没有时钟的,不给时钟的情况下,操作外设是无效的,外设爷不会工作,这样的目的的降低功耗
*GPIO:通用的IO口,可以通过GPIO来实现点灯,读取按键等
*AFIO:复用IO口,可以完成复用功能端口的重定义,中断端口的配置
*EXTI:外部中断,配置好外部中断后,当引脚有电平变化时,就可以触发中断,让cpu来处理任务
*TIM:定时器,整个STM32最常用、功能最多的外设。分为:高级定时器,通用定时器,基本定时器,其中高级定时器最为复杂,常用的时通用定时器,这个定时器不仅可以完成定时的作用,还可以完成测评率、生成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设备
单片机最小系统分为晶振模块,复位模块,启动配置,下载端口(有些最小系统可以通过usb来下载)
标签:STM32,定时器,USB,18,可以,stm32,IO,串口,片上 From: https://www.cnblogs.com/jlxaiyjx/p/17564186.html