目录
一. 前言
二. 片上资源外设
三. 单片机命名规则
四. STM32的系统结构
五. STM32F103C8T6的引脚定义
六. 启动配置
一. 前言
本篇文章主要讲述对STM32单片机的介绍,包括片上资源和外设,STM32产品系列,内存存储器容量以及STM32的系统结构,引脚定义,启动配置等等。
二. 片上资源外设
在操作外设之前,我们必须使能它的时钟。这样的目的就是为了降低能耗。另外,GPIO就是通用的IO口,我们可以用它来完成点灯,读取按键等操作。
根据网上现有资料,以STM32F103C8T6芯片为例,列举出了它片上资源和外设,如下所示:
其中,芯片的型号不同,可能会有不同的外设资源。这个可以根据所给的芯片或者产品手册来判断进行使用。
三. 单片机命名规则
同样以STM32F103C8T6为例,
其中STM32就是基于ARM为核心的32位微控制器。
F处则是产品类型。这里F表示通用类型。
103处则是产品子系列。101表示基本型,102表示USB基本型,USB2.0全速设备,103表示增强型,105或107表示互联型。
C处则是引脚数目。若为T,则表示引脚数目为36;若为C,则表示引脚数目为48;若为V,则表示引脚数目为100;若为Z,则表示引脚数目为144。
8处则是闪存存储器容量。若为4,则是16k字节的闪存存储器;若为6,则为32k字节的闪存存储器;若为B,则是128K字节的闪存存储器;若为C,则是256字节的闪存存储器;若为D,则是384K字节的闪存存储器;若为E,则是512K字节的闪存存储器。
T处则是封装类型。若为H,则是BGA;若为T,则是LQFP;若为U,则是VFQFPN;若为Y,则是WLCSP64。
最后一个6处,则是温度范围。
不止是STM32F103C8T6,所有的单片机,我们都可以根据这个命名规则来进行它的一些配置获取。
四. STM32的系统结构
关于STM32的系统结构,我们可以主要分为4部分。
其中,第一部分就是我们的内核部分---Cortex-M3。Cortex-M3又包括了ICode指令总线,DCode数据总线,System系统总线。其中,ICode指令总线和DCode数组总线主要用来存储Flash。
第二部分则是我们的Flash部分,包括Flash接口和Flash。Flash里面存储的就是我们编写的程序。
第三部分则是我们的总线矩阵部分,包括SRAM,FSMC。其中FSMC又包括着SDIO,其中连接着AHB系统总线,系统总线又分为桥接1和桥接2.桥接1主要是APB2,所有的GPIO口都在上面。桥接2主要是APB1。值得注意的是,APB2连接的一般都是外设中稍微重要的部分。
最后一部分则是我们的DMA1和DMA2。
五. STM32F103C8T6的引脚定义
这个可以根据它的产品手册来查询获取。相关的资料我都会放在我主页资源当中,如果有需要的小伙伴可以取走。
这里对它的引脚定义中可能遇到的问题进行一下讲解。
其中主功能就是上电之后默认的功能,一般和引脚名称相同;如果不同的话,引脚的实际功能就是主功能而不是引脚名称的功能。
默认服用功能是IO口上同时连接的外设功能引脚。
六. 启动配置
启动配置的相关说明如下所示:
STM32的主时钟晶振一般都是8MHz,再经过内部锁相环倍频,得到72MHz的主频。