Одновременный опрос портов atmega16a

Тема в разделе "Микроконтроллеры AVR", создана пользователем postal2201, 16 ноя 2022.

  1. postal2201

    postal2201 Нерд

    Друзья, у мк Atmega16 4 комплекта портов A, B, C и D.
    Возможно ли одновременно опрашивать состояния всех входов сразу 3х портов, например A, B и C?
    И сколько тактов будет занимать данная процедура?
     
  2. parovoZZ

    parovoZZ Гуру

    Атмеги- 8-ми битные мк. Порты(точнее их регистры) также 8-ми битные. Вопрос - как в 8-ми битную шину мк (1байт) умесить 2 или 3 байта?
    Другой вопрос - для чего вообще опрашивать одновременно все порты? Мне сложно представить такую ситуацию. Но даже если это и необходимо, то стоит переходить на 16 или 32 разрядные системы. Но прежде стоит ответить на вопрос в первой части предложения.
    Сколько тактов занимает та или иная команда мк написано в даташите. Ближе к его концу. Тут даже вопрос не в этом, а в том, что дальше будет происходить с данными. Т.к. основные временные затраты происходят на обработке данных, а не их чтении. Само обращение к регистрам порта - это один или два такта процессора.
    Ещё один момент. Ну считал ты одновременно все порты, а дальше что? Атмега все равно может оперировать только 8-ю битыми и не больше. Так что совет - изучить внутреннее строение мк, чтобы правильно писать алгоритмы программ.
     
    DetSimen нравится это.
  3. postal2201

    postal2201 Нерд

    parovoZZ, для отслеживания адресных линий параллельной EPROM. Чтобы была возможность налету подменять считываемые данные. А вот для управления мне как раз хватало 1 порта, так как интересующая меня EPROM работает в байтовом режиме.
     
  4. a1000

    a1000 Гуру

    Одномоментно никак. И что вы понимаете под словом "опрашивать"? Можно быстренько зафиксировать состояние регистров PINA, PINB и PINC в РОН. Согласно книжки, инструкция IN выполняется за 1 такт. Следовательно вы уложитесь в три такта. Но ведь полученные байты ещё нужно будет обработать.
     
  5. ostrov

    ostrov Гуру

    Зачем прямо налету? Захватили пакет, переработали под свои нужны и через долю секунды залили куда надо. Подозреваю, счетчик какой-то обмануть хотите? Я так делал. )
     
  6. parovoZZ

    parovoZZ Гуру

    Для этого стоит почитать в старых книжках про адресные защелки и как раньше вообще обменивались и адресом и данными по одной шине данных. На лицо полное отсутствие знаний классической цифровой схемотехники.