前期学习了基础的编程知识,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端口是附在第二根总线上的,所有必须打开端口时钟