寄存器点亮LED

前期学习了基础的编程知识,MSP430基本操作。原来那个头文件里写的东西叫寄存器映射,可通过映射出来的名称直接操作寄存器。现在开始学习STM32最基础的寄存器操作。
GPIOx_ODR:output data register,与MSP430基本一致,略有不同
430里面需要设置DIR方向寄存器以及OUT输出寄存器:

P1DIR|=BIT0;   //P1.0输出
P1OUT&=~BIT0;  //输出置零

STM32中,同样:

    // 打开 GPIOB 端口的时钟 偏移18
	*( unsigned int * )0x40021018 |=  ( (1) << 3 );
	
	// 配置IO口为输出 偏移为0
	*( unsigned int * )0x40010C00 &=  ~( (0x0f) << (4*0) );
	*( unsigned int * )0x40010C00 |=  ( (1) << (4*0) );
	
	// 控制 ODR 寄存器
	*( unsigned int * )0x40010C0C &= ~(1<<0);	//必须要加*指针

因为GPIOB端口是附在第二根总线上的,所有必须打开端口时钟

猜你喜欢

转载自blog.csdn.net/weixin_37676403/article/details/89679143