COM1A1 | COM1A0 | COM1B1 | COM1B0 | FOC1A | FOC1B | WGM11 | WGM10 | |
Read/Write | R/W | R/W | R/W | R/W | W | W | R/W | R/W |
Initial Value |
• Bit 7:6 – COM1A1:0: Compare Output Mode for channel A
• Bit 5:4 – COM1B1:0: Compare Output Mode for channel B
Биты COM1A1: 0 и COM1B1: 0 управляют выводами сравнения (OC1A и OC1B соответственно). Если один или оба бита COM1A1: 0установлены в 1, выход OC1A переопределяет нормальную функциональность контакта порта ввода-вывода, к которому он подключен. Если в один или оба бита COM1B1: 0 записываются единицы, выход OC1B переопределяет нормальную работу контакта порта ввода-вывода, к которому он подключен. Однако обратите внимание, что бит регистра данных DDR (DDR), соответствующий выводу OC1A или OC1B, должен быть установлен на вывод данных.
Когда OC1A или OC1B подключены к выходу, функция бит COM1x1: 0 зависит от настройки WGM13: 0. Таблица показывает функциональность COM1x1: 0 бит, когда бит WGM13: 0 установлен в нормальный режим или режим CTC (без PWM).
COM1A1/ COM1B1 | COM1A0/ COM1B0 | Description |
Нормальная работа порта, OC1A/OC1B отключены | ||
Переключить OC1A / OC1B на сравнение соответствия | ||
Очистить OC1A / OC1B от сравнения соответствия (установить выход в 0) низкий уровень) | ||
Установите OC1A / OC1B (установите на выходе на высокий уровень 1) |
В таблице ниже показана функциональность COM1x1: 0 бит, когда бит WGM13: 0 установлен в режим быстрой PWM (режим ШИМ).
COM1A1/ COM1B1 | COM1A0/ COM1B0 | Description |
Нормальная работа порта, OC1A/OC1B отключены | ||
WGM13: 0 = 15: Переключить OC1A на сравнение, OC1B отключен (нормальный режим работы порта). Для всех других параметров WGM1, нормальный режим работы порта, OC1A / OC1B отключен. | ||
Очистить OC1A / OC1B от сравнения соответствия, установить OC1A / OC1B в BOTTOM (режим без иинвертирования) | ||
Установите OC1A / OC1Bв 1, очистите OC1A / OC1B в BOTTOM (режим инвертирования) |
Таблица показывает функциональность COM1x1: 0 бит, когда бит WGM13: 0 установлен на фазовую коррекцию или правильную фазу и частоту, режим PWM.
COM1A1/ COM1B1 | COM1A0/ COM1B0 | Description |
Нормальная работа порта, OC1A/OC1B отключены | ||
WGM13: 0 = 9 или 14: Переключить OC1A в 1, OC1B отключен (нормальный режим работы порта). | ||
Очистить OC1A / OC1B от сравнения совпадения при пересчете. становите OC1A / OC1B на сравнение соответствия при подсчете. | ||
Установите OC1A / OC1B на соответствие совпадению при пересчете. Очистить OC1A / OC1B от сравнения совпадения при подсчете. |
• Bit 3 – FOC1A: Force Output Compare for channel A
• Bit 2 – FOC1B: Force Output Compare for channel B
Биты FOC1A / FOC1B активны только тогда, когда бит WGM13: 0 определяет режим без ШИМ. Однако для обеспечения совместимости с будущими устройствами эти биты должны быть установлены на ноль, когда TCCR1A записывается при работе в режиме PWM. При записи логической единицы в FOC1A / FOC1B происходит немедленное сравнение и Match принудительно подается на блок генерации сигналов. Выход OC1A / OC1B изменяется в соответствии с его настройкой COM1x1: 0 бит. Обратите внимание, что бит FOC1A / FOC1B реализован как стробы. Поэтому значение, присутствующее в битах COM1x1: 0, определяет эффект принудительного сравнения.
Строб FOC1A / FOC1B не будет генерировать никаких прерываний и не очистит таймер в режиме Clear Timer on Compare Match (CTC), используя OCR1A как TOP. Биты FOC1A / FOC1B всегда считаются нулями.
• Bit 1:0 – WGM11:0: Waveform Generation Mode
В сочетании с WGM13: 2 битами, найденными в регистре TCCR1B, эти биты управляют последовательностью подсчета счетчика, источником максимального (TOP) значения счетчика и тем, какой тип генерации волновой формы используется, (см. Таблицу Режимы). Операции, поддерживаемые блоком таймера / счетчика, следующие: Нормальный режим (счетчик), Режим «Сброс таймера» в режиме сравнения (CTC) и три типа режимов широтно-импульсной модуляции (PWM) (см. «Режимы работы» на стр. 87).
Mode | WGM13 | WGM12 (CTC1) | WGM11 (PWM11) | WGM10 (PWM10) | Timer/Counter Mode of Operation(1) | TOP | Update of OCR1x | TOV1 Flag Set on |
Нормальный режим | 0xFFFF | Immediate | MAX | |||||
PWM, Phase Correct, 8-bit | 0x00FF | TOP | BOTTOM | |||||
PWM, Phase Correct, 9-bit | 0x01FF | TOP | BOTTOM | |||||
PWM, Phase Correct, 10-bit | 0x03FF | TOP | BOTTOM | |||||
CTC | OCR1A | Immediate | MAX | |||||
Fast PWM, 8-bit | 0x00FF | BOTTOM | TOP | |||||
Fast PWM, 9-bit | 0x01FF | BOTTOM | TOP |
Mode | WGM13 | WGM12 (CTC1) | WGM11 (PWM11) | WGM10 (PWM10) | Timer/Counter Mode of Operation(1) | TOP | Update of OCR1x | TOV1 Flag Set on |
Быстрая PWM, 10-битная | 0x03FF | BOTTOM | TOP | |||||
PWM, Phase and Frequency Correct | ICR1 | BOTTOM | BOTTOM | |||||
PWM, Phase and Frequency Correct | OCR1A | BOTTOM | BOTTOM | |||||
PWM, Phase Correct | ICR1 | TOP | BOTTOM | |||||
PWM, Phase Correct | OCR1A | TOP | BOTTOM | |||||
CTC | ICR1 | Immediate | MAX | |||||
(Reserved) | – | – | – | |||||
Fast PWM | ICR1 | BOTTOM | TOP | |||||
Fast PWM | OCR1A | BOTTOM | TOP |
Имена определения CTC1 и PWM11: 0 бит устарели. Используйте определения WGM12: 0. Однако функциональность и расположение этих битов совместимы с предыдущими версиями таймера.