stm32f103ze单片机流水灯main.c代码,基于stm32f10x.h库
时间: 2024-01-15 08:46:37 浏览: 78
基于stm32f103的单色流水灯
4星 · 用户满意度95%
以下是基于stm32f10x.h库的stm32f103ze单片机流水灯main.c代码:
```c
#include "stm32f10x.h"
#define LED1_PIN GPIO_Pin_0
#define LED2_PIN GPIO_Pin_1
#define LED3_PIN GPIO_Pin_2
#define LED4_PIN GPIO_Pin_3
void delay(int count)
{
int i;
for(i=0;i<count;i++);
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = LED1_PIN | LED2_PIN | LED3_PIN | LED4_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
while(1)
{
GPIO_SetBits(GPIOA, LED1_PIN);
delay(50000);
GPIO_ResetBits(GPIOA, LED1_PIN);
GPIO_SetBits(GPIOA, LED2_PIN);
delay(50000);
GPIO_ResetBits(GPIOA, LED2_PIN);
GPIO_SetBits(GPIOA, LED3_PIN);
delay(50000);
GPIO_ResetBits(GPIOA, LED3_PIN);
GPIO_SetBits(GPIOA, LED4_PIN);
delay(50000);
GPIO_ResetBits(GPIOA, LED4_PIN);
}
}
```
在这个代码中,我们使用了stm32f10x.h库来配置GPIO模式和速度。我们定义了4个LED引脚,然后使用一个while循环来实现流水灯的效果。我们使用了GPIO_SetBits和GPIO_ResetBits函数来设置和重置LED引脚的状态,并使用delay函数来控制LED引脚的亮灭时间。
阅读全文