寄存器地址映射+寄存器各位定义+中断号定义
如何实现:
一、寄存器地址映射
二、寄存器各位定义
三、中断号定义
关于一,怎么说呢,可以参考一下《STM32F4开发指南——库函数版本》里边的4.6小节“MDK中寄存器地址名称映射分析”,这篇文章介绍的比较清楚,其中需要注意的是什么呢:
1. STM32,我想顾名思义,这个32可能也是表明他的寄存器都是32位的吧,这样的话每一个寄存器就都可以有bit0~bit31,也就是4个连续的字节,比如0x00,0x01,0x02,0x03。因此寄存器的偏移地址0x00,0x04,0x08。。。
2. 刚才提到了连续,那各个寄存器之间也要用连续的地址才行,什么样的数据结构可以保证地址连续呢?就是结构体类型,结构体类型的成员变量地址具有连续性。
3. 将地址强制转换为结构体指针~~将结构体与寄存器地址对映上
关于二,寄存器各个位如何定义,看一下下图就知道了
关于三,中断号如何定义,也是用结构体,其中需要注意的是Cortex-M处理器本身有中断,中断号是-14 ~ -1。