文章目录
- 点灯流程
 - 开时钟
 - 配置IO
 - 关灯操作
 - 灯反转宏定义
 - 最后给自己说
 
本篇文章使用的是STM32F103xC系列的芯片,四个led灯在PE2,PE3,PE4,PE5上连接
点灯流程
1.开时钟
 2.配置IO口
 (1)清零指定寄存器位
 (2)设置模式为推挽输出模式(led灯低电平有效)
 3.设置开关灯
 4.宏定义灯的反转
开时钟
1.先看时钟树,找到PE总线在APB2时钟
 
2.我们先来打开对应芯片的参考手册,找到对应时钟的地方
 
 因为我们选择的是PE口,所以应该让第6位置一,如图(非圈起)
 
 3.代码
RCC->APB2ENR |= 1<<6;
 
配置IO
1.清零指定寄存器,查找参考手册GPIO部分
 
 如上图解释,我们选用端口配置低寄存器CLR,每个口有32位,每4位是一个IO的配置,CNF表示模式,MODE表示设置频率,我们同时配置模式
 
 2.代码
	GPIOE->CRL &= ~(0xffff<<8);//先清零指定寄存器位
	GPIOE->CRL |= 0x1111<<8;//设置模式为推挽输出模式
 
关灯操作
1.给对应IO口置高电平,端口输出高电平,同样的32位,高16保留
 
 2.代码
 0xf=1111<<2,再或上,给对应口置0
GPIOE->ODR |= 0xf<<2;//关灯操作
 
灯反转宏定义
LED1是PE2端口,如果表示当灯原来的状态位为1时,ODR置0,反之为1.实现灯闪烁/反转效果
#define LED1_Toggle() GPIOE->ODR ^= (1<<2)//反转灯操作
 
最后给自己说
切莫眼高手低










![【算法心得】C++map用不着map.find(arr[j])!=map.end();js的map是map不是哈希;编译器选GNU](https://img-blog.csdnimg.cn/bc215a913e954f7cb2ea4750a17ce251.png)








