关于STM32F103ZET6单片机
STM32表示内核Cortex-M3,ARMv7构架,主频72M,32bit微控制器。
F表示芯片子系列;
103表示增强型;
Z表示144引脚;
E表示512K字节flash;
T表示LQFP封装方式;
6表示工作温度-40/85度。
管脚的具体功能可以参考stm32f103zet6数据参考手册
其中APB1主频小于36MHZ。
内容
1.基本外设(四个):
2.基本外设接口:
3.高级功能:
用到的语言是C语言编程。
存储器与寄存器
程序存储器、数据存储器、寄存器、I/O端口在一个4G地址空间内排列。
存储器映射:给存储器分配地址
分成了8个区域,每个512MB
最重要的是block0/1/2三个。
block2用于片内外设。包括APB1/ABP2/AHB,以及预留。
AHB如下,高速外设,包括AHB和两个预留区。
APB2如下,高速外设。包括APB2和两个预留区
APB1如下,低速外设。
block1 用于设计SRAM,stm32f103zet6的SRAM最大为64kb。
block0 用于设计flash,stm32f103zet6的flash最大为512kb。包含flash、预留、系统存储器、选项字节、boot设置
寄存器
存储器内部是以四个字节为一个单位,每个单位对应不同的功能,通过控制单元来控制外设。
每个单元对应一个地址,通过访问地址来控制单元。根据每个单元的功能,给每个单元取个名字(寄存器映射)
比如地址为0x4001 1010 的单位为GPIOC_BSRR寄存器,具有GPIOC端口置位/复位功能。
GPIO是在挂在APB2总线上的。
寄存器地址
查看寄存器功能
利用C语言对寄存器进行封装:
利用宏定义对寄存器进行定义:
用C语言指针操作读写:
使用结构体对寄存器进行封装: