8051 / C: вход в режим мигания при нажатии кнопки, выход при повторном нажатии или через 30 секунд - PullRequest
1 голос
/ 19 января 2012

Итак, у меня есть светодиод и кнопка.

Когда кнопка нажата, светодиод должен начать мигать. Он либо перестает мигать через 30 секунд, либо при повторном нажатии кнопки.

Я ввел состояние мигания и оставил его через 30 секунд, но я не знаю, как выйти из него в любое время нажатием кнопки. Любая помощь приветствуется!

while(1)
{

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

1 Ответ

0 голосов
/ 19 января 2012

Вы почти у цели: нужно добавить отслеживание кнопки в промежутках между миганиями светодиода:

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