Что означает «Обновление OCR1x» в Timer1 - Atmega32 - PullRequest
0 голосов
/ 30 марта 2020

при просмотре таблицы данных atmega32, TIMER1, режимов работы проверьте выделенный столбец на изображении, которое я добавил здесь

1 - я не понимаю, что такое "обновление" означает (выделено на изображении).

2-Что значит сказать, что значение TOP фиксировано ??? не может быть изменено во время выполнения или что-то еще ??

1 Ответ

0 голосов
/ 30 марта 2020

Ответ 1 OCR1A и OCR1B - это контакты, на которых таймер вырабатывает ШИМ. Это говорит о том, когда что-то происходит с этими контактами. Если вы прочитали этот раздел до того, как он покажет формы волны и объяснит разницу в подсчете, это объяснит это довольно хорошо. В зависимости от режима, обновление может быть либо переключено, либо установлено, либо отменено.

Я смотрю на раздел 16.9 таблицы данных для 328P. В обычном режиме 19.9.1 перечислены все 3 бита 0, верхняя строка на графике. Это говорит о том, что в обычном режиме отсчет всегда идет вверх и переполняется от TOP до нуля. ТОП всегда на максимуме счетчика. Это самый простой режим. В этом режиме значение TOP равно OxFFFF (MAX счетчика), а выводы PWM обновляются сразу после совпадения с регистром сравнения. Флаг переполнения установлен на MAX, который равен 0xFFFF для этого таймера.

Также описывается режим CT C, в котором значение TOP задается одним из регистров. И затем он описывает различные режимы ШИМ и как они используют TOP и BOTTOM и когда они обновляются. Это действительно больше, чем я могу воспроизвести здесь в этом ответе.

В качестве еще одного примера рассмотрим режим 1. Это режим с корректной фазой, который в соответствии с разделом 16.9.4 означает, что счетчик отсчитывает время от ДНА до ВЕРХА, а затем снова возвращается вниз. Похоже, в режиме 1 значение TOP равно 0x00FF, поэтому это 8-битный таймер. Он обновляет булавку в ТОПе (и при сопоставлении совпадений). Если вы читаете этот раздел, он объясняет, как это влияет на импульсы ШИМ. Это также говорит о том, что он устанавливает флаг переполнения на BOTTOM, что имеет смысл, поскольку это один полный цикл таймера.

Ответ 2 Если верхнее значение фиксировано, тогда да, вы не можете его изменить. В некоторых режимах вы можете установить верхнее значение, используя один из других регистров. Есть несколько режимов, где вы не можете. Опять же, все разделы довольно хорошо объясняют, как работают все эти разные режимы.

...