寄存器地址映射+寄存器各位定义+中断号定义

如何实现:

一、寄存器地址映射

二、寄存器各位定义

三、中断号定义

关于一,怎么说呢,可以参考一下《STM32F4开发指南——库函数版本》里边的4.6小节“MDK中寄存器地址名称映射分析”,这篇文章介绍的比较清楚,其中需要注意的是什么呢:

1. STM32,我想顾名思义,这个32可能也是表明他的寄存器都是32位的吧,这样的话每一个寄存器就都可以有bit0~bit31,也就是4个连续的字节,比如0x00,0x01,0x02,0x03。因此寄存器的偏移地址0x00,0x04,0x08。。。

2. 刚才提到了连续,那各个寄存器之间也要用连续的地址才行,什么样的数据结构可以保证地址连续呢?就是结构体类型,结构体类型的成员变量地址具有连续性。

3. 将地址强制转换为结构体指针~~将结构体与寄存器地址对映上

关于二,寄存器各个位如何定义,看一下下图就知道了

关于三,中断号如何定义,也是用结构体,其中需要注意的是Cortex-M处理器本身有中断,中断号是-14 ~ -1。

猜你喜欢

转载自blog.csdn.net/wofreeo/article/details/82561076