Яндекс.Метрика
    Поиск по тегу

    winavr


    Найдено: 1 запись

    Песочница

    Внешние прерывания у 8-bit avr, использование кнопок

    Здравствуйте, на днях решил поэксперементировать с внешними прерываниями на attiny2313A. Думаю тем кто занимался программированием микроконтроллеров известно, что МК не всегда быстро может реагировать на нажатие кнопки, т.к. проверка PINа стандартно осуществляется в бесконченом цикле и если программа доостаточно большая — это может затормозить опрос ножки.
    Код ниже написан для WinAVR.

    image

    Стандартный опрос:


    • DDRxy|=(0<<y); PORTxy|=(0<<y)
      с одной стороны кнопка подключена к плюсу (VCC), а с другой стороны к ножке.
      В таком случае провод который подключен к ножке выступает в роли антены и любое возмущение электрическо-магнитного поля вокруг проводка вызывает срабатываение кнопки, что неприемлимо.

    • DDRxy|=(0<<y); PORTxy|=(1<<y)
      С одной стороны кнопка подключена к минусу (GND), а с другой стороны к ножке.
      Это наиболее примелимый вариант, наводок не возникает и кнопка срабатывает стабильно