通过讲解我知道了LED可以通过控制寄存器来点亮LED.选择GPIOB端口寄存器。
控制寄存器通过基地址。
但是要分为三步:
1、打开时钟使能寄存器(GPIOB挂载到APB2上,时钟在AHB上)时钟默认是关闭需要打开
//AHB的基地址位0x400010000 ,APB2的偏移地址位18,偏移地址放最后两位;GPIOB位端口4所以左移三位,1是开启所以置一。
第一行代码 *(unsigned int *)0x40021018 |=(1<<3);
第二步:配置Io口是输入还是输出模式-
这里通过低寄存器配置 为输出模式0001-(00是通用推挽输出模式,01是输出模式,最大速度10Mhz)
第二行代码:*(unsigned int *)0x40010C00 |=~( (1)<< (4*0));
//这里的(1)是0001 由于四位为一组,左移四位乘于0
第三步:控制ODR寄存器 端口输出寄存器
第三行代码:*(unsigned int *)0x40010C0C &=~(1<<0);//
//因为偏移地址为0C最后两位改为0C ,端口1偏移0位;
成功点亮LED!