一、流程
1.首先看原理图
目标是点亮GLED
需要将PB0置0,它由一个寄存器——端口输出数据寄存器(GPIOx_ODR)控制。每一位对应I/O端口的每一位。
那么现在的目标就变成了将ODR0位置0。
可知GPIOB的起始地址位0x4001 0c00,ODR的地址偏移位0CH,故ODR的地址位0x4001 0c00+0c=0x40010c0c。
写出点亮GLED的程序:*(unsigned int * )0x40010c0c &=~(1<<0);
进行编译,烧录,灯不亮。
因为stm32中,I/O口是双向的,可以设置成输入也可以设置成输出。
如需点亮LED,需设置成推挽式输出。接下来进行输出设置操作。
2.设置输出
在端口配置低寄存器中可以找到