代码解释void LED_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //ʹÄÜPB,PE¶Ë¿ÚʱÖÓ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_5; //LED0-->PB.5 ¶Ë¿ÚÅäÖà GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //ÍÆÍìÊä³ö GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿ÚËÙ¶ÈΪ50MHz GPIO_Init(GPIOA, &GPIO_InitStructure); //¸ù¾ÝÉ趨²ÎÊý³õʼ»¯GPIOB.5 GPIO_ResetBits(GPIOA,GPIO_Pin_0); //PB.5 Êä³ö¸ß GPIO_ResetBits(GPIOA,GPIO_Pin_1); //PB.5 Êä³ö¸ß }
时间: 2023-11-16 19:07:59 浏览: 93
GPIO点亮LED
5星 · 资源好评率100%
这是一个初始化LED的函数,该函数的作用是将LED所在的GPIO口进行初始化,以方便使用。
具体解释如下:
```
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //声明一个GPIO_InitTypeDef结构体变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能GPIOA时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_5; //选择要初始化的GPIOA的引脚(即LED所在的引脚)
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽输出模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置IO口的速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据上述参数初始化GPIOA
GPIO_ResetBits(GPIOA, GPIO_Pin_0); //将LED的端口引脚输出低电平,使LED熄灭
GPIO_ResetBits(GPIOA, GPIO_Pin_1); //将LED的端口引脚输出低电平,使LED熄灭
}
```
注:该代码假设LED所在的GPIO口为GPIOA,LED0所在引脚为PA0,LED1所在引脚为PA1。
阅读全文