stm32控制灯亮灭
时间: 2023-07-20 08:05:17 浏览: 33
可以使用STM32的GPIO模块控制灯的亮灭。以下是一个简单的示例代码:
```c
#include "stm32f4xx.h"
int main(void)
{
// 使能GPIOG模块时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE);
// 初始化GPIOG的Pin13为输出
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOG, &GPIO_InitStruct);
while (1)
{
// 点亮LED灯
GPIO_SetBits(GPIOG, GPIO_Pin_13);
// 延时一段时间
for (int i = 0; i < 1000000; i++);
// 熄灭LED灯
GPIO_ResetBits(GPIOG, GPIO_Pin_13);
// 延时一段时间
for (int i = 0; i < 1000000; i++);
}
}
```
在上面的代码中,我们使用了GPIOG的Pin13来控制LED灯的亮灭。首先,我们需要使能GPIOG模块的时钟,并初始化GPIOG的Pin13为输出。然后在无限循环中,我们使用GPIO_SetBits()函数点亮LED灯,再使用GPIO_ResetBits()函数熄灭LED灯,并进行延时。这样就可以实现简单的灯的亮灭控制了。