while (i==1)
{ if(m==3){PORTB.2=1;}
else{PORTB.2=0;}
break;
};
while (i==2)
{
if(s==6){PORTB.3=1;}
else{PORTB.3=0;}
break;
};
alex38779 писал(а):Желательно бы глянуть весь код программы.
Код: Выделить всё
while (i==1) {
if(m==3){
PORTB.2=1;
} else {
PORTB.2=0;
}
break;
}
while (i==2) {
if(s==6){
PORTB.3=1;
} else {
PORTB.3=0;
}
break;
}Код: Выделить всё
если честно понятнее не сталоARV писал(а):разве вы не видите, что while у вас оба не работают? благодаря break внутри каждого они оба выполняются не до тех пор, пока верно условие, а пролетают только 1 раз?
Добавлено after 1 minute 4 seconds:
кроме того у вас в самом первом сообщении написаны одни условия, а потом в "коде" совсем другие - где-то явно лажа закралась.
Так "работает" или же "криво"?DDimka писал(а):почему не работают? в протеусе работает, только только криво
Оператор "break" осуществляет выход из цикла "while".DDimka писал(а):цикл до конца крутится.
Имей в виду, вот такой обработчик прерывания от кнопки - работать не будет! Ибо дребезг контактов кнопки!DDimka писал(а):нажатию кнопки(внешнее прерывание)
В данном случае, имхо, было бы полезно переменные "i", "m" и "s" объявить как "volatile"DDimka писал(а):как надо сделать