基于stm32f429的跑马灯(固态库)

昨天学习了stm32f429这个芯片,并学习了如何使蓝灯变亮,我就一直在想,该如何使4个灯一起亮,然后我就在b站上看到了这个视频【正点原子】STM32F4视频教程(入门篇),首先构建一个固态库,如何构建我就不说了,单独建立一个led.c文件

#include "stm32f4xx.h"
#include "led.h"

void LED_Init(void){
		GPIO_InitTypeDef GPIO_InitStructure;//创建结构体对象
	
    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC,ENABLE);//打开外设GIPOC时钟
		
		GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4;
		GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;     //设置模式寄存器输出
		GPIO_InitStructure.GPIO_OType = GPIO_OType_PP ;   //设置输出推挽输出
		GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;      //设置上拉下拉
		GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //设置输出速度
		
		GPIO_Init(GPIOC,&GPIO_InitStructure);
		GPIO_SetBits(GPIOC,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4);
	
}

接下来是main.c

int main(void){
		InitLED();
		while(1){
				GPIO_SetBits(GPIOC,GPIO_Pin_1);
				delay();
				GPIO_SetBits(GPIOC,GPIO_Pin_2);
				delay();
				GPIO_SetBits(GPIOC,GPIO_Pin_3);
				delay();
				GPIO_SetBits(GPIOC,GPIO_Pin_4);
				delay();
				
				GPIO_ResetBits(GPIOC,GPIO_Pin_4);
				delay();
				GPIO_ResetBits(GPIOC,GPIO_Pin_3);
				delay();
				GPIO_ResetBits(GPIOC,GPIO_Pin_2);
				delay();
				GPIO_ResetBits(GPIOC,GPIO_Pin_1);
				delay();
		}
}

你可能感兴趣的:(STM32)