寄存器映射
1.寄存器映射
在Block2这块区域,设计的是片上外设,它们以4个字节为1个单元,共32位,每一个单元对应不同的功能,当控制这些单元时,就可以驱动外设工作,可以找到每个单元的起始地址,然后通过C语言指针的操作方式来访问这些单元。
根据每个单元功能的不同,以功能为名给这个内存单元取一个别名,这个别名就是寄存器。给已经分配好地址的,有特定功能的内存单元取别名的过程就是寄存器的映射。
2.通过绝对地址访问内存单元
GPIOB端口的输出数据寄存器ODR的地址是0x4001 0c0c,ODR寄存器是32位,低16位有效,对应16个外部IO,写0/1对应的IO输出低/高电平
代码如下:
//通过C语言指针的操作方式,让GPIOB的16个IO都输出高电平
*(unsigned int*