c - 8051/C : Enter blink-mode when button is pressed, 再次按下或 30 秒后退出

标签 c 8051

所以我有一个 LED 和一个按钮。

按下按钮时,LED 应开始闪烁。 它要么在 30 秒后停止闪烁,要么在再次按下按钮时停止。

我已经实现了闪烁状态的进入和30秒后离开,但我不知道如何通过按下按钮随时离开。 任何帮助表示赞赏!

while(1)
{

    if(button is pressed)
    {
         for(i=0, i<60, i++)
         {
           toggleLED();
           wait(500ms);
         }
    }
}

最佳答案

您快完成了:您需要在 LED 闪烁之间添加观察按钮:

if(button is pressed)
{
     for(i=0, i<60, i++)
     {
       toggleLED();
       wait(500ms);
       if (button is pressed)
       {
           turnLedOff();
           break;
       }
     }
}

关于c - 8051/C : Enter blink-mode when button is pressed, 再次按下或 30 秒后退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8927077/

相关文章:

c - 错误: request for member ‘stream’ in something not a structure or union

c - 在 Micro 8051 的 Keil 中将字符指针函数的返回值分配给字符变量数组时出错

c++ - 编译时数据段太大

c - 具有双向链表插入的优先级队列

c - C中结构体的全局多维数组

c - 嵌入式 C 数组索引文字与变量问题

c - 8051 无法转储十六进制文件

c - Keil Proteus 中的数字时钟仿真

c - 如何使全局变量无法被 C 中的特定函数访问

C 和 Linux : Waiting for when a file has been written to