У меня есть то, на что я надеюсь, это простой вопрос, касающийся микроконтроллеров Atmel AVR. Поэтому я хочу использовать аналоговый компаратор ATTiny85 для определения того, находится ли сигнал выше или ниже порогового значения. Этот сигнал обычно «плавающий» и тянут к земле, когда «активен» (т. Е. Это активный сигнал с низким открытым коллектором). Если я включить подтяжку на входном выводе (который также является вход компаратора), выполнив:AVR Analog Comparator + Внутренняя выдержка?
DDRB = 0x00; // DDRB.1 = 0 = input
PORTB = 0xFF; // PORTB.1 = 1 = internal pullup enabled
Если я использовать аналоговый компаратор и выберите PORTB.1 как AIN1 будет внутренний подтягивающий быть применен к моему входному сигналу ? Я надеюсь, что у кого-то есть личный опыт, чтобы проверить это поведение. Надеюсь, что этот вопрос не слишком «аппаратно-ориентирован» для переполнения стека. Благодаря!
РЕДАКТИРОВАТЬ В ответ на некоторые из комментариев ниже к эффекту «почему бы не относиться к нему digitially», это потому, что мой «сигнал» генерируется с помощью датчика (а именно оптический датчик ИК). Я не могу быть уверен, что он потянет «достаточно тяжело», чтобы интерпретироваться как нуль в цифровом виде, поэтому я буду использовать внутреннюю ссылку 2.56V в качестве своего порога переключения. Я просто пытаюсь подобрать «IR-событие», так что это казалось самым простым способом для меня.
Кроме того, используя аналоговый компаратор, я могу обнаружить событие «асинхронно» с использованием ISR. Предоставленные некоторые штырьки могут вызывать прерывание на цифровом краю, но никто не хочет полагаться на ответ опускаться ниже V_IL.
+1 для направления его в таблицу; всегда первое место, чтобы посмотреть. – Clifford
Да, вот что я думал, спасибо! – vicatcu
К сожалению, я принял этот ответ, прежде чем проверять его. Оказывается (несмотря на вывод из таблицы), что внутренний pullup * должен быть отключен, чтобы использовать штырь в качестве входа аналогового компаратора. – vicatcu