alex2103 писал(а):Думаю это так ошибки приема команды от пульта влияют...ТСОП засвечивается мусором и прерывание возникает.
Я пока взял библиотечку от многоуважаемого ARV для работы с пультиком... Код уверенно распознает нажатие кнопок на пульте, но удержание не очень. Во время удержания мой пульт шлет команду полностью. теперь вот тоже думаю как удержание отрабатывать...
все нормально с моим кодом. определять удержание для одинаковых кодов надо в другом месте. я делаю, например, так: сравниваю новый код с предыдущим, если они одинаковы, то еще проверяю флажок автоповтора - если и флажок стоит, то приступаю к обработке принятого кода. если флажок не стоит - запускаю таймер, который этот флажок установит через 1 секунду, код при этом игнорирую. если коды не одинаковы, то останавливаю таймер, сбрасываю флажок, запоминаю код и приступаю к его обработке.
в этом случае получается такое дело:
- каждое нажатие вызывает реакцию немедленно
- если нажато и удерживается, то через 1 секунду задержки начинается быстрый автоповтор
точно такой же принцип надо использовать и при работе с кнопками, если требуется автоповтор.
mr_smit, сдается мне, что ваша проблема в бессистемном подходе к разработке: вы не разрабатываете программу, а латаете дырки. по стилю видно, что общего алгоритма работы вы не продумывли, а пишите "слету", а потом налепляете на написнное всякие примочки, чтобы оно хоть как-то работало. боюсь, что в таком коде никто не станет разбираться, чтобы вам помочь. да и сами вы вскоре (если не уже) будете путаться в нем... как говорил один сантехник "тут все прогнило, всю систему менять надо"