stm32f103的led灯代码
时间: 2023-08-06 21:04:41 浏览: 71
stm32f103跑ucosii的红绿灯,支持sim800远程短信配置,OLED显示。工程包含完整的程序、原理图、PCB。
5星 · 资源好评率100%
以下是基于STM32F103C8T6的LED灯代码,可作为参考:
```c
#include "stm32f10x.h"
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// 使能GPIOB的时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
// 设置GPIOB.12为推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while (1)
{
// 点亮LED
GPIO_SetBits(GPIOB, GPIO_Pin_12);
// 延时
for (int i = 0; i < 1000000; i++);
// 熄灭LED
GPIO_ResetBits(GPIOB, GPIO_Pin_12);
// 延时
for (int i = 0; i < 1000000; i++);
}
}
```
该代码使用了GPIOB的第12根引脚控制LED灯的开关状态。在主循环中,通过`GPIO_SetBits`和`GPIO_ResetBits`两个函数来控制LED灯的点灭。在两次点灭之间,使用一个简单的for循环来实现延时,以便肉眼可见地观察到LED灯的点亮和熄灭状态。
阅读全文