寄存器点亮LED灯,存储器映射,寄存器映射
存储区区域功能的划分的过程,将存储器分为不同的Block,每个Block有其对应的地址,给存储器分配地址的过程就叫存储器映射。
每个单元有不同功能,可控制对应的单元驱动外设工作,需要找到寄存器的边界地址,使用C语言指针的操作方式进行访问。这里所用到的即为寄存器映射。
例如:
#include "stm32f4xx.h"
void LED_Delay(unsigned int count)
{
for(;count != 0;count--);
}
//主函数
int main(void)
{
//打开GPIO端口的始时钟
RCC_AHB1ENR |= (1<<7);
//配置PH10为输出;
GPIOH_MODER |= (1<<(2*10));
//PH10输出低电平;
//GPIOH_ODR &=~(1<<10);
//PH10输出为高电平,灯灭。
GPIOH_ODR |=(1<<10);//复习一下位运算符。
while(1)
{
GPIOH_ODR |=(1<<10);
LED_Delay(0xEFFFF);
GPIOH_ODR &=~(1<<10);
LED_Delay(0xEFFFF);
}
}
// 骗过编译器不报错
void SystemInit(void)
{
}