Использовать более одного таймера при программировании Atmega32/16 ?
Я попытался написать простую программу с использованием микроконтроллера ATmega16. Программа должна переключать два светодиода: первый с помощью прерывания от таймера 0, а второй с помощью прерывания от таймера 2.
@Ebraheem Ali Abd Al-Maksod, 👍1
Обсуждение2 ответа
Лучший ответ:
Да, можно. Однако есть одно замечание:
Одновременно может работать только один ISR.
Это означает, что если один светодиод хочет переключиться, пока другой находится в процессе переключения, ему придется подождать, пока не завершится первая ISR, прежде чем он сможет переключиться.
При простом переключении светодиодов это будет незаметно, но об этом нужно помнить, если вы выполняете несколько действий, требующих точного времени.
Да, можем.
(stackexchange хочет, чтобы тело ответа состояло не менее чем из 30 символов, поэтому я должен добавить немного наполнителя. Правда в том, что для ответа на вопрос как задано больше нечего сказать. )
- Как перевести ATtiny/ATmega в режим глубокого сна (чтобы годами работать от батарей), но при этом обнаруживать нажатие кнопки?
- Как записать загрузчик и загрузить скетчи на ATmega328P U (конкретно этой модели)?
- IDE не загружается в ATTiny88
- Мой Arduino UNO включает светодиод навсегда когда я подключаю его к своему ноутбуку
- Попытка понять узкое место частоты дискретизации датчика
- Atmega328p с arduino без платы
- Отсутствуют импульсы ATTiny88 - возможно
- Максимальная длина матрицы для инвертирования матрицы на atmega32
Если вы поместите их на правильные контакты, вы можете настроить таймеры для их переключения без какой-либо обработки программного обеспечения. Также да, вы можете иметь более одного ISR и даже все таймеры, работающие одновременно., @KIIV