код для ардуино для выхода из цикла по нажатию кнопки
Добавлено: Вт янв 14, 2014 23:36:46
Сильно не ругайтесь, я дикий новичок)
Подскажите, как в функции int main(void) сделать в самом начале бесконечный цикл, чтобы по нажатию кнопки на пульте можно были выйти из него, и программа начала выпонять основной код? То есть пока я не нажму определенную кнопку на пульте, программа не начнет работать. Основной код в int main(void) статичный, то есть после выполнения всего кода, контроллер будет ждать, пока я еще раз не нажду кнопку, чтобы заново запустить процесс.
Вот код:
Подскажите, как в функции int main(void) сделать в самом начале бесконечный цикл, чтобы по нажатию кнопки на пульте можно были выйти из него, и программа начала выпонять основной код? То есть пока я не нажму определенную кнопку на пульте, программа не начнет работать. Основной код в int main(void) статичный, то есть после выполнения всего кода, контроллер будет ждать, пока я еще раз не нажду кнопку, чтобы заново запустить процесс.
Вот код:
Код: Выделить всё
#include <IRremote.h>
#include <IRremoteInt.h>
#include <util/delay.h>
int RECV_PIN = 8;
#define POP 0X40BF18E7 //значение кнопки
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
irrecv.enableIRIn(); // Inicializamos el receptor
}
int main(void)
{
unsigned char i;
int a;
int buttonPressed = 0;
DDRC=0xFF;
{
while (buttonPressed == 0) {
if (irrecv.decode(&results)) {
if(results.value == POP) buttonPressed = 1;
}
irrecv.resume();
}}
{
for (a=0;a<7;a++)
{
{
PORTC=0x00;
i=10; while(--i) _delay_ms(100);
}
{
PORTC=0xFF;
i=10; while(--i) _delay_ms(100);
}
}
}
}