Так это ваша проблема, что кода стало больше - у вас бездумное дублирование по сути одинакового функционала, отличающегося только кодом для посылки ;) Сделаете одну функцию, которая в параметре получает код для посылки:
Логика такая: первый раз пришёл код - запомнили пришедший код. Далее, если приходит код FFFFFFFF - считаем, что кнопка с последним актуальным кодом зажата. Если никакого кода не приходит в течение какого-либо времени - считаем, что кнопку отпустили.
Примерчик я вам привёл, в виде логики работы алгоритма. Осталось переложить его на любой язык программирования - и у вас будет реализация ;) За вас никто вас не научит, только вы сами.
Здравствуйте, почему то не приходят данные с кнопок пульта. Только с первых девяти.
Смешно :)
Ответ такой - в строке 13 вы читаете из порта один символ, а в строке "10" их (символа) - два.
Здравствуйте, почему то не приходят данные с кнопок пульта. Только с первых девяти.
Ну и правильно, что с первых девяти, т.к. нет такого символа '10'. В таблице символов есть символы '1' и '0', по отдельности.
А как же быть если кнопок более 10?
https://www.arduino.cc/reference/en/language/functions/communication/ser...
А как же быть если кнопок более 10?
Понимать, в чём разница между числом и символом (байтом), как минимум.
А как же быть если кнопок более 10?
Например, кроме цифр есть еще буквы. Вместо "10" можно использовать "а" и так далее :)
Благодарю. Только кода стало в два раза больше.
Так это ваша проблема, что кода стало больше - у вас бездумное дублирование по сути одинакового функционала, отличающегося только кодом для посылки ;) Сделаете одну функцию, которая в параметре получает код для посылки:
можно сделать в 10 раз меньше.
Если не заморачиваться таблицей соответствий, то в лоб можно оптимизировать так:
Красиво:) Буду разбираться что к чему.
А подскажите ещё - какой код нужен для нажатой кнопки пульта. При простом клике - понятно
А при длительном нажатии
Логика такая: первый раз пришёл код - запомнили пришедший код. Далее, если приходит код FFFFFFFF - считаем, что кнопка с последним актуальным кодом зажата. Если никакого кода не приходит в течение какого-либо времени - считаем, что кнопку отпустили.
Логика понятна.:) но вот воплощение не очень :(
Логика понятна.:) но вот воплощение не очень :(
Учитесь ;) Потихоньку, полегоньку - все с чего-то начинали.
Мне бы с примерчиком - легче учиться
Мне бы с примерчиком - легче учиться
Примерчик я вам привёл, в виде логики работы алгоритма. Осталось переложить его на любой язык программирования - и у вас будет реализация ;) За вас никто вас не научит, только вы сами.
Если не заморачиваться таблицей соответствий, то в лоб можно оптимизировать так:
Поскольку индексы команд целочисленные и идут подряд, табличка тут так и просится... Позволю себе вставить, тем более что код еще ужмется вдвое....
Спасибо, осталость теперь разобраться с кнопкой длительного нажатия.
Помогите пожалуста. Так и не получиллось сделать повторение кнопки. Пробовал как написано тут - не получилось http://arduino.ru/forum/programmirovanie/vypolnit-komandy-s-ik-pulta#comment-6275