最近在学习STM32的相关实验
第一个实验当然是点灯了,当时是照着原子哥的例程重新写了一遍,灯是点亮了
后面想着改进一下,用for函数写一个呼吸灯实验
下面是跑马灯的main函数
#include "led.h"
#include "delay.h"
#include "sys.h"
int main(void)
{
delay_init();
LED_Init();
while(1)
{
LED0=0;//LED0灯亮
LED1=1;//LED1灯灭
delay_ms(300); //
LED0=1;
LED1=0;
delay_ms(300);
}
}
下面是用for函数写的main函数
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
int main(void)
{
void delay(int i);
int i;
delay_init();
LED_Init();
while(1)
{
for(i=10;i<2999;i++)
{
LED0=0;//灯亮
delay_us(i);//延时i微秒
LED0=1;//灯灭
delay_us(3000-i);//延迟3000-i微秒
}//达到呼吸灯逐渐亮的效果
LED0=0;
delay_ms(300);//灯一直亮300ms
for(i=10;i<2999;i++)
{
LED0=1;
delay_us(i);
LED0=0;
delay_us(3000-i);
}//达到呼吸灯逐渐暗的效果
LED0=1;
delay_ms(300);//灯暗延迟300ms
}
}
delay_us而不能用delay_ms,用delay_ms得不到呼吸灯的效果