Как присвоить кнопке геймпада PS2 оператор break?
- Войдите на сайт для отправки комментариев
Вс, 28/02/2021 - 16:13
Есть рабочий скетч управления шасси танка.
Пытаюсь доработать и не могу понять один момент:
#include <PS2X_lib.h> // всё работает и упраляется void setup(){ ........ void loop(){ ....... //часть скетча с которой проблема int ttt = 0; if(ps2x.ButtonPressed(PSB_L1)) { for (;int ttt = 70;){ Serial.println(ttt); if(ps2x.ButtonPressed(PSB_R1)) { break; } delay(50); } }
ttt - величина задаётся клавишей PSB_L1 (геймпад PS2), а клавишей PSB_R1 её обратно в "0".
Вопрос: как остановить бесконечный цикл?
значение "70" присваивается.
if(ps2x.ButtonPressed(PSB_R1)) break; прерывание может по другому пишется?
Чтобы оператор button.pressed() сработал, нужно еще регулярно проверять кнопку, чего в коде нет.
И в условии оператора for ошибка, хотя на результат не влияет
Уважаемый, Ваша стоимость подсказки?
Не знаю, зачем там бесконечный цикл, но, наверное, как-то так надо:
Wolff_2020, объясните, пожалуйста, внятно, что написано (или что Вы хотели написать) в строке №14.
после выполнения строки 14, нажав 1 раз PSB_L1, ttt постоянно = 70, а нажав PSB_R1 должно поменяться на 250 и наоборот
до меня не доходит присвоение кнопками (одним нажатием) переменной значений
до меня не доходит присвоение кнопками (одним нажатием) переменной значений
А разве сложно перед строкой 17 вставить ttt = 0;
Только действительно наличие цикла там вызывает удивление
после выполнения строки 14, ...
Я спросил Вас что написано в строке №14, а не что происходит после неё.
Пока Вы не ответите внятно на этот вопрос, Вы не сможете ничего исправить.
в таком виде значения 70 и 250 только при нажатых кнопках
а мне нужно чтобы значения фиксировались после отпускания
В первой строке - static int ttt = 0;
ОППА!!!!!!!!!!!!!!! заработало!!!!!!!!!!!!!!!
v258 Спасибо!!!