В даташите не хватает регистров для включения Fast PWM

Обсуждаем контроллеры компании Atmel.
Ответить
junior_t
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Вс ноя 13, 2022 17:41:26

В даташите не хватает регистров для включения Fast PWM

Сообщение junior_t »

Всем привет!

Я пытаюсь запустить ШИМ на контроллере Atmega32u4, режим 7 на пине 27, PD7. На этот пин заведен ШИМ OC4D, который тактируется от 4-го таймера:
Изображение
Изображение
Включаем быстрый PWM:
Изображение
Изображение
Включаем быстрый PWM:
Изображение
После этого выбираем режим работы PWM
Изображение

Для этого нужно в регистры WGMn3, WGMn2, WGMn1 и WGMn0 записать соответствующие нули или единицы. n=4, судя по номеру таймера.
WGM41 и WGM40 находятся:
Изображение

Но где брать регистры WGM43 и WGM42? В даташите их нет.

Даташит https://ww1.microchip.com/downloads/en/ ... asheet.pdf
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15585
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: В даташите не хватает регистров для включения Fast PWM

Сообщение BOB51 »

А почитать повнимательнее тот же даташит с описанием регистра TCCR4D на следующей страничке (171) сил не хватило?
:wink:
Там же есть прямое описание специально для данного таймера (а не общее для "стандартных", что у Вас выставлено!!)
см. table 15-18, где явно указана настройка ТОЛЬКО для WGM41, WGM40

Код: Выделить всё

Table 15-18. Waveform Generation Mode Bit Description
PWM4x  WGM41..40  Timer/Counter Mode of Operation TOPUpdate  ofOCR4x at  TOV4 FlagSet on
    0            xx              Normal                                     OCR4C     Immediate    TOP
    1            00             Fast PWM                                   OCR4C       TOP            TOP 
    1            01         Phase and Frequency Correct PWM   OCR4C     BOTTOM     BOTTOM
    1            10          PWM6 / Single-slope                       OCR4C      TOP            TOP  
    1            11          PWM6 / Dual-slope                         OCR4C     BOTTOM     BOTTOM
Другие режимы для данного таймера недоступны
Это ведь не 16 битовый, а

Код: Выделить всё

15. 10-bit High Speed Timer/Counter4
Соответственно таблицы для 16-битовых таймеров к нему НЕПРИМЕНИМЫ
А Вы пытаетесь использовать для него таблицу 14-4 ДЛЯ 16 БИТНЫХ ТАЙМЕРОВ
8)
Реклама
Ответить

Вернуться в «AVR»