stm32系统结构

总线
AHB总线:连接 外设 和 系统
APB1/2总线:分别挂载不同外设,APB1最高为36MHz,APB2最高为72MHz。
ICode总线:将Cortex™-M3内核与闪存指令接口相连接,用于指令预取。
DCode总线:将Cortex™-M3内核与闪存存储器的数据接口相连接,用于存取数据。
DMA数据传输通道:外设寄存器,存储器,Flash间的数据传输
外设寄存器地址映像



时钟树

- 当HSI被用于作为PLL(锁相环)时钟的输入时,系统时钟能得到的最大频率是64MHz。
- AHB最大72MHz,APB1最大36MHz,APB2最大72MHz,SDIO接口的时钟频率固定为HCLK/2。
- RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。
- ADC时钟是高速APB2时钟经2、4、6或8分频后获得。
- APB预分频系数为1时,定时器的时钟频率与所在APB总线频率一致。否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍。
标准库函数
数据类型:
FunctionalState
:使能或失能(ENABLE / DISABLE)FlagStatus, ITStatus
:置1或置0(SET / RESET)ErrorStatus
:成功或失败(SUCCESS / ERROR)XXX_TypeDef
:含多个XX,选择XXXyXXX_InitTypeDef
:XXX初始化结构体类型IRQn_Type
:中断向量表的中断号。
函数类型:
XXX_DeInit
:XXX外设复位初始值XXX_Init
:XXX配置函数XXX_StructInit
:XXX初始化结构体赋初值XXX_Cmd
:使能或失能XXX外设XXX_ITConfig
:XXX外设NVIC中断配置XXX_IRQHandler
:XXX中断处理函数XXX_GetITStatus
:XXX获取中断标志位XXX_ClearITPendingBit
:清除XXX中断标志位XXX_GetFlagStatus
:获取XXX外设的标志位XXX_ClearFlag
:清除XXX外设的标志位XXX_DMACmd
:使能XXX外设的DMA数据转运
------ BY Flier
2023.9.12
Reference:江协科技、《stm32f10x用户手册》、《stm32库开发实战指南教程》