OpenEdv-开源电子网
标题:
pwm呼吸灯程序
[打印本页]
作者:
杨懿_学员
时间:
2017-7-21 09:58
标题:
pwm呼吸灯程序
int main(void)
{
u16 i,j;
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
for(i=1;i<1500;i++)
{
LED0=0; delay_us(i);
LED0=1; delay_us(1500-i);
}
for(j=1500;j>1;j--)
{
LED0=0; delay_us(j);
LED0=1; delay_us(1501-j);
}
}
}
作者:
原子哥
时间:
2017-7-22 12:20
前面,每个周期延时为:i+(1500-i)=1500us=1.5ms。你现在循环的是1500次。。。。你计算一下是多少时长?
作者:
杨懿_学员
时间:
2017-7-22 20:15
openedvadmin 发表于 2017-7-22 12:20
前面,每个周期延时为:i+(1500-i)=1500us=1.5ms。你现在循环的是1500次。。。。你计算一下是多少时长?
,张老师真细心,我都没注意时间的问题了,现在整好3秒一个周期了,不过我感觉这种写法还是不人性化,起码这个周期还要自己去根方出来。
int main(void)
{
u16 i,j;
delay_init(); //延时函数初始化
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
for(i=1;i<1732;i++)
{
LED0=0; delay_us(i);
LED0=1; delay_us(1732-i);
}
for(j=1;j<1732;j++)
{
LED0=0; delay_us(1732-j);
LED0=1; delay_us(j);
}
}
}
欢迎光临 OpenEdv-开源电子网 (http://www.openedv.com/)
Powered by Discuz! X3.4