STM32_3.5Lib延时实现led呼吸灯效果
int main (void)
{//主程序
RCC_Configuration(); //时钟设置
LED_Init();
u8 MENU;
u16 t,i;
MENU = 0;
t = 1;
while(1)
{
if(MENU == 0)
{ //for循环保持此刻led的状态10次,视觉停留效果
for(i = 0;i<10;i++)//for(初始化语句;判断条件语句;控制条件语句){循环体语句}
{
GPIO_WriteBit(GPIOA, LED1, (BitAction)(0));
GPIO_WriteBit(GPIOD, LED2, (BitAction)(0));
delay_us(t); //延时1秒
GPIO_WriteBit(GPIOD, LED2, (BitAction)(1));
GPIO_WriteBit(GPIOA, LED1, (BitAction)(1));
delay_us(501-t); //延时1秒
}
t++;//t是亮暗的分辨率
if(t == 500)
{
MENU = 1;
}
}
if(MENU == 1)
{
for(i = 0;i<10;i++)
{
GPIO_WriteBit(GPIOA, LED1, (BitAction)(0));
GPIO_WriteBit(GPIOD, LED2, (BitAction)(0));
delay_us(t); //延时1秒
GPIO_WriteBit(GPIOD, LED2, (BitAction)(1));
GPIO_WriteBit(GPIOA, LED1, (BitAction)(1));
delay_us(501-t); //延时1秒
}
t--;
if(t == 1)
{
MENU = 0;
}
}
}
}
2 条评论
博主太厉害了!
不错不错,我喜欢看 https://www.jiwenlaw.com/