Как я могу использовать прерывание через проект лифта - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю над проектом, в котором я делаю лифт для 4 уровней.

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

Мне нужна реализация C для кнопок за ее пределами. Другими словами, если он поднимается с 1-го этажа на 4-й и я нахожусь снаружи на 2-м этаже, я нажму кнопку, и она остановится. И если я нажму снаружи, он проигнорирует нажатие, продолжит подниматься и вернется ко мне после того, как закончит подниматься.

Возможно, требуется прерывание, или есть более простой способ?

Мой код для внутренних кнопок: Задайте рабочий цикл для серводвигателя, чтобы тянуть лифт.

void main (void) {
    EA  = 1;        /* Enable global interrupt */
    ET0 = 1;            /* Enable timer0 interrupt */
    Timer_init();
    Port_Init();
while(1)
{


   if(Level0 == 0 )
   {
    Set_DutyCycle_To(0.6);
    }

   else if(Level1 == 0 )
   {
    Set_DutyCycle_To(1.2);
    }

    else if(Level2 == 0 )
   {
    Set_DutyCycle_To(1.9);
    }

    else if(Level3 == 0 )
   {
    Set_DutyCycle_To(2.6);
    }
    else
    {
    /* do Nothing*/
    }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...