Использовать более одного таймера при программировании Atmega32/16 ?

atmega328 attiny atmel atmega atmega16u2

Я попытался написать простую программу с использованием микроконтроллера ATmega16. Программа должна переключать два светодиода: первый с помощью прерывания от таймера 0, а второй с помощью прерывания от таймера 2.

, 👍1

Обсуждение

Если вы поместите их на правильные контакты, вы можете настроить таймеры для их переключения без какой-либо обработки программного обеспечения. Также да, вы можете иметь более одного ISR и даже все таймеры, работающие одновременно., @KIIV


2 ответа


Лучший ответ:

0

Да, можно. Однако есть одно замечание:

Одновременно может работать только один ISR.

Это означает, что если один светодиод хочет переключиться, пока другой находится в процессе переключения, ему придется подождать, пока не завершится первая ISR, прежде чем он сможет переключиться.

При простом переключении светодиодов это будет незаметно, но об этом нужно помнить, если вы выполняете несколько действий, требующих точного времени.

,

1

Да, можем.

(stackexchange хочет, чтобы тело ответа состояло не менее чем из 30 символов, поэтому я должен добавить немного наполнителя. Правда в том, что для ответа на вопрос как задано больше нечего сказать. )

,