一、STM32简介:
1、ST公司基于 ARM Cortex-M内核 开发的 32位 微控制器(运算在内核中完成)
2、STM32常用于嵌入式领域(智能车、无人机、机器人等领域)
3、STM32是一款功能强大的嵌入式微控制器
目前主要有以下型号:
1)ARM简介:
1、ARM是一家半导体知识产权(IP)提供商,全球超过百分之九十五的手机电脑都是采用ARM架构。
2、ARM公司设计内核,半导体厂商完善内核周边电路,并生产芯片。
2)本次学习单片机参数
1、51单片机供电电压为5v,usb供电电压也为5v,所以不能直接给stm32供电,需要用专用电源模块。
3)STM32-F1片上资源/外设(并不是所有型号都拥有全部的外设)
1、深色为Cortex-M3内核的功能外设,其余均为内核外的功能外设。
2、大概功能介绍:
NVIC:内存中管理中断的设备(例如配置中断优先级)
SysTick:给操作系统提供定时服务,STM32是可以加入操作系统的,例如:FreeRTOS、UCOS等。如果使用此类操作系统需要Systick提供定时服务来进行任务切换功能。
RCC:时钟控制,配置系统时钟,使能其他模块时钟,上电时其他外设是没有时钟的,在stm32中外设不配置时钟不工作。
GPIO:通用IO口,点灯等操作。
AFIO:复用功能端口的重定义、中断端口定义。
TIM:STM32最常用 功能也最多的外设,定时器分三类:高级定时器、通用定时器、基本定时器。
DMA:可以帮助CPU完成搬运大量数据的繁杂任务。
UART:异步串口
USART:同步/异步两种模式都支持的串口,实际用异步串口多。
通信协议:I2C、SPI、CAN(常用于汽车领域)、USB
RTC:实时时钟,在STM32内部完成计时功能,可接外部备用电池,即使掉电也可以继续运行。
CRC:数据校验方式,判断数据正确性。
PWR:电源控制,可以让芯片进入睡眠模式等,达到省电目的。
BKP:系统掉电时,可以使用备用电池保持数据,根据需要,可以完成一些特殊功能。
IWDG、WWDG:当单片机因为电磁干扰死机,或者程序设计不合理陷入死循环时,及时复位芯片,保持系统稳定。
USB OTG:使用此功能可以使STM32作为主机去读取其他USB设备。
4)STM32单片机命名规则
二、系统结构
1)结构图
1、AHB(先进高性能总线)系统总线挂载大量其他外设例如:SDIO、RCC。APB*(先进外设总线)。
2、AHB和APB因为总线协议、速度、数据格式等差异,所以中间需要加两个桥架完成数据转换和缓存。AHB总体性能高于APB,APB2性能高于APB1。
3、APB2一般和AHB同频 72MHZ,APB1一般是36MHZ,所以APB2一般连接优先级需要较高的外设(GPIO等图示端口)
4、DMA相当于CPU的秘书,当有需要搬运数据等简单且需要重复的需求出现,DMA通过DMA总线连接到总线矩阵,拥有和CPU一样的总线控制权,用于访问外设。
5、当需要DMA搬运数据时,外设通过DMA请求线,发出请求,然后DMA获得总线控制权,完成数据搬运,整个过程不需要CPU参与。
2)引脚定义
1、红色是电源相关的引脚、蓝色是最小系统相关引脚、绿色是常用IO口、功能口引脚。