Sabbah писал(а):
По команде пульта сейчас выходит, а после нажатия центр кнопки ничего не происходит и пультом не оживает, что не так я вообще не пойму, помогите.
Код:
while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//пока не получим команду "старт"
if (joystick_event==key_central_pressing)
while(keypress_cntr < 5) //ставим если нажата центр кнопка
// while(keypress_cntr < 20) //ставим если нажат курок
{
// switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок
switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка
{
case 0: keypress_cntr++ ; break; //ставим если нажата центр кнопка
case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка
// case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок
default: keypress_cntr = 0;
}
}
}
//"оживаем" - начинаем новую игру
if (simples_in_queue>1) //если звук выстрла воспроизводится
Я же писал - убрать все проверки джойстика из цикла!
Вот это что за безобразие?!
Код:
if (joystick_event==key_central_pressing)
while(keypress_cntr < 5) //ставим если нажата центр кнопка
// while(keypress_cntr < 20) //ставим если нажат курок
{
// switch (FIRE_KEY_IN&FIRE_KEY_PIN) //проверяем, нажат ли курок
switch (CENTRAL_KEY_IN&CENTRAL_KEY_PIN) //проверяем, нажата ли центральная кнопка
{
case 0: keypress_cntr++ ; break; //ставим если нажата центр кнопка
case CENTRAL_KEY_PIN: keypress_cntr = 0; break; //ставим если нажата центральная кнопка
// case FIRE_KEY_PIN: keypress_cntr = 0; break; //ставим если нажат курок
default: keypress_cntr = 0;
}
Найдите прошивку до изменений и измените только
while(!((ir_message.control_byte ==Valid_value)&&(ir_message.ID==Command)&&(ir_message.param==0x05)||(joystick_event==key_central_pressing)))//пока не получим команду "старт"