野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8083|回复: 2

流水灯课后作业疑问?

[复制链接]
发表于 2018-5-30 21:02:11 | 显示全部楼层 |阅读模式
int main(void)
{
        led_gpio_conf();// 来到这里的时候,系统的时钟已经被配置成72M。

       LED_P0(OFF);
        LED_P1(OFF);
        LED_P5(OFF);
    while(1)
    {
        //LED_P0(OFF);
        //LED_P1(OFF);
        //LED_P5(OFF);
    Delay(0xdFFFFF);
        LED_P0(ON);
        LED_P1(OFF);
        LED_P5(OFF);
       Delay(0xdFFFFF);
        LED_P0(OFF);
        LED_P1(ON);
        LED_P5(OFF);
       Delay(0xdFFFFF);
        LED_P0(OFF);
        LED_P1(OFF);
        LED_P5(ON);
    }
}
1.以上红色部分三句话放到while循环里面,流水灯为什么会有问题?
2.while循环体里面,在点亮P0灯的同时,为什么还要关掉 LED_P1(OFF), LED_P5(OFF),如果不关掉流水灯有问题,但是在进这个while之前不是已经将三个灯都关掉了吗

回复

使用道具 举报

发表于 2018-5-31 07:47:58 | 显示全部楼层
每一次while循环都需要关一次
回复 支持 反对

使用道具 举报

发表于 2018-5-31 08:51:48 | 显示全部楼层
主要是延时影响了,
放到循环里相当于执行完最后的 P5 on之后,立即把所有灯关闭,没有延时,执行得太快,人根本就看不到,而因为全灭之后有延时,所以就看到全灭的效果,看不到只亮P5的效果

    LED_P0(OFF);
        LED_P1(OFF);
        LED_P5(OFF);
  Delay(0xdFFFFF);
        LED_P0(OFF);
        LED_P1(OFF);
        LED_P5(ON);
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-20 18:06 , Processed in 0.060164 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表