Пара вопросов по МК AVR

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Пара вопросов по МК AVR

Сообщение YS »

Возможно ли на 8-битном таймере делать ШИМ с произвольным периодом?


Смотря что за версия таймера, смотря какой МК... Тут есть много "но".

У всех видов PWM есть режим "TOP = OCRn". Как им пользоваться и зачем он нужен?


Как пользоваться - это Вам прямиком в даташит. :) А нужен он для ограничения максимального значения, до которого считает таймер. Бывает полезно.

меняется при совпадении с OCRn. ... ШИМ не получится


Там два (а то и больше) канала. До одного считаем, с другим сравниваем. Все получится, у меня же получалось. :)
Разница между теорией и практикой на практике гораздо больше, чем в теории.
cray3
Родился
Сообщения: 11
Зарегистрирован: Ср фев 20, 2013 15:40:48

Re: Пара вопросов по МК AVR

Сообщение cray3 »

YS писал(а):
Возможно ли на 8-битном таймере делать ШИМ с произвольным периодом?


Смотря что за версия таймера, смотря какой МК... Тут есть много "но".

У всех видов PWM есть режим "TOP = OCRn". Как им пользоваться и зачем он нужен?


Как пользоваться - это Вам прямиком в даташит. :) А нужен он для ограничения максимального значения, до которого считает таймер. Бывает полезно.

меняется при совпадении с OCRn. ... ШИМ не получится


Там два (а то и больше) канала. До одного считаем, с другим сравниваем. Все получится, у меня же получалось. :)


Например Attiny2313. Первый и единственный восьмибитный таймер. Я ставил режим - TOP=OCR0A. OCR0B делал в половину этого значения. Вывод на OCR0B. Не заработало. Должно?
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Пара вопросов по МК AVR

Сообщение YS »

Я ставил ... Вывод на OCR0B. Не заработало. Должно?


WGM как конфигурировали? Саму ножку на выход настроили?

Вот мой рабочий код из проекта, сравните.

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

  //T/С0 compB channel is a carrier frequency generator (PWM)
  //overflow interrupt provides receive timebase

  //PWM pin is OC0B/PD5
  DDRD=(1<<PD5);
  //Fast PWM on OC0B, count to OCR0A value
  TCCR0A=(1<<COM0B1) | (1<<WGM01) | (1<<WGM00);
  //Timer clock=F_CPU, 8MHz
  TCCR0B=(1<<WGM02) | (1<<CS00);
  //Output freq=F_CPU/64=125KHz
  OCR0A=64;
  //PWM duty
  OCR0B=25;
  //Overflow interrupt enable (8uS timebase)
  TIMSK0=(1<<TOIE0);


И не цитируйте целиком предыдущее сообщение, а то придет модератор и покарает. :wink:
Разница между теорией и практикой на практике гораздо больше, чем в теории.
cray3
Родился
Сообщения: 11
Зарегистрирован: Ср фев 20, 2013 15:40:48

Re: Пара вопросов по МК AVR

Сообщение cray3 »

вспомнил :) . Эта нога у меня сгоревшая уже давно. Вот и не работает.
Аватара пользователя
YS
Друг Кота
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05
Контактная информация:

Re: Пара вопросов по МК AVR

Сообщение YS »

:facepalm:
:)))
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Ответить

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