作为一名STM32初学者,能力有限。下面是我写的流水灯程序,发出来,请各位大佬给些指点。如果有更好的方法,欢迎下面留言。
#include "stm32f4xx.h"
#include "stm32f4xx_gpio.h"
#include "stm32f4xx_rcc.h"
void LED_GPIO_Config(void);
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOH,ENABLE);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_InitStruct.GPIO_Speed = GPIO_Fast_Speed;
GPIO_Init(GPIOH,&GPIO_InitStruct);
}
void delay_ms(u16 time)
{
u16 i=0;
while(time--)
{
i=12000;
while(i--) ;
}
}
int main(void)
{ while(1)
{
LED_GPIO_Config();
GPIO_SetBits(GPIOH,GPIO_Pin_2);
delay_ms (2000);
GPIO_ResetBits(GPIOH,GPIO_Pin_2);
GPIO_SetBits(GPIOH,GPIO_Pin_3);
delay_ms (2000);
GPIO_ResetBits(GPIOH,GPIO_Pin_3);
GPIO_SetBits(GPIOH,GPIO_Pin_4);
delay_ms (2000);
GPIO_ResetBits(GPIOH,GPIO_Pin_4);
GPIO_SetBits(GPIOH,GPIO_Pin_5);
delay_ms(2000);
GPIO_ResetBits(GPIOH,GPIO_Pin_5);
}
}
|