• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

c语言的框架

魂牵梦萦 2018-11-22 浏览量:734

当对LED灯赋初值为低电平0时,使用while(1);时,为什么不会熄灭呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 赋值之后,进入 while(1)死循环,单片机一直在执行 while(1)  没有执行熄灭语句,不熄灭就对了。

    想要熄灭,需要执行熄灭语句,比如 

    LED = 0;  // 点亮

    HAL_Delay(1000);  // 延时一会,为了能看到,不然点亮后很快执行下一句熄灭,时间太短太短了,人眼看不到

    LED = 1;  // 熄灭

    while(1);

    这样就能看出来点亮了一秒,然后又熄灭了。

    • 发布于 2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:14
  • 众所周知while(1);是死循环结构体 没有改变IO电平的功能
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 灯亮了,就一直在执行while语句
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 低电平应该是灯亮,然后while(1)就一直不动了
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 请问,您哪条语句让灯灭了?

    最好附上代码。

    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 要看电路上灯是怎么接的了,是上拉接法还是下拉的接法
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 死循环了,程序不再执行了,怎么给你关灯呢
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 0
    • 0

  • while(1)之后,进行循环,无操作寄存器的动作,所以LED状态不会变化。
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 代码只点亮,然后进入循环了,没有熄灭,所以不会熄灭
    • 发布于2018-11-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 灯亮之后,不写灯灭,他就一直亮着
    • 发布于2018-11-25
    • 举报
    • 评论 0
    • 0
    • 0

  • while(1)是死循环,你灯亮了之后没有灭灯操作一直死循环当然就不会灭。
    • 发布于2018-11-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 看一下那个灯是高电平有效的还是低电平有效的
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的程序里面没有关灯的语句
    • 发布于2018-12-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

c语言的框架