Страница 1 из 1

код для ардуино для выхода из цикла по нажатию кнопки

Добавлено: Вт янв 14, 2014 23:36:46
CEBKA
Сильно не ругайтесь, я дикий новичок)

Подскажите, как в функции 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);      
	 }
   }
 }
}