О высоком. Занимаясь электроникой - аналоговой и цифровой(на жесткой логике), настраиваешся на событийный характер работы схемы. Ну так, нажал кнопку сработал - сработал триггер, нажал другую - разрядился кондер и запустил некую схему. Подал на вход транзистора сигнал - тут же ждешь его на выходе. Как же перестроить сознание на программировние МК, когда ту же клавиатуру нужно простоянно опрашивать в цикле, раз в одну миллисекунду скажем? При программировании ведь нужен совершенно другой подход к проектировнию устройства.

Комментарии: 11

  1. Anonim

    Все просто, если событием будешь считать начало нового такта процессора. Ну или хотя бы новую итерацию главного цикла

    • Anya

      переходим с ивентов на поллинг :D

      • Anonim

        поллинг дорогое удовольствие

        • Anonim

          что значит дорогое? В главном цикле идет опрос клавиатуры сидящей, к примеру, на АЦП контроллера. В чём дороговизна сего метода?

          • Anonim

            проблема решается понятием таски/процесса. таска большую часть времени спит, просыпаясь лишь когда для неё есть работа. код приёма событий извне изолирован от обработки, лишь выставляет флаги для тасок в том, что а) у тебя относительно дорогой проц занят пустой, бесполезной работой почти всё время. б) если ты его нагрузишь ещё чем-то в параллель - то можешь пропустить нажатие

            • Andor

              чо тут опять rtos выдумывают?

              • Anonim

                всё уже придумано до нас :)

            • Anonim

              т.е. в таком случае лучше применить отдельный контроллер клавиатуры и выдавать по прерыванию код нажатой кнопки? до РТОСа еще очень далеко :-)

              • Anonim

                можно без контроллера, просто кнопку на прерывание повесить, смотря сколько кнопок у тебя

                • Anonim

                  5 кнопок на одном порту АЦП

              • Anonim

                в идеале - да. но опять же, смотря что у тебя за задача

Не нашли ответ?

Вам также может быть интересно