Ничегонеработает писал(а):Нужно использовать режим Fast PWM.
Да, тоже к этому начал склоняться. Пошёл курить даташит.
Ничегонеработает писал(а):Нужно использовать режим Fast PWM.
AI_Disable писал(а):Покурил дш, тут тов. Ничегонеработает прав - нужен Fast PWM ибо CTC, как оказалось, не вернёт ноу в первоначальное состояние, при сбросе таймера.
AI_Disable писал(а):Jack_A, хорошо. В таком случаи будьте добры - приведете общепринятое определение термина "импульс".
Timer/Counters
16-bit Timer/Counters on all devices have several problems with PWM, prescaler and output compare.
Всем спасибо, будем налаживать и настраивать.Gudd-Head писал(а):Мне бы точно такие настройки для фаст-ШИМа
Код: Выделить всё
#include <iom8.h>
#include <intrinsics.h>
#define PULSE_PERIOD 3
#define PULSE_WIDTH 1
void main(void)
{
//pin PB2 as output:
DDRB |= (1 << PB2);
//clear OC1B on compare, fast PWM, TOP = OCR1A:
TCCR1A = (1 << COM1B1) | (1 << WGM11) | (1 << WGM10);
//fast PWM, TOP = OCR1A, CK/1:
TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS10);
OCR1A = PULSE_PERIOD - 1;
OCR1B = PULSE_WIDTH - 1;
//dummy loop:
while(1)
{
}
}
Ничегонеработает писал(а):Вот для ATmega8, только что проверил, всё так, как надо
Pavel_777 писал(а):Помогите пожалуйста, у меня есть программатор STK200/300, но в Обучалке сказано собрать Altera BB. Так как схемы одинаковы, будет ли работать STK?
слева!Gudd-Head писал(а):Будет. Только цоколёвку выводов программатора сверьте.
Gudd-Head писал(а):Спасибо. Я так понимаю, нет особой разницы что использовать в качестве ТОР — ICR1 или OCR1A (WGM10 = 0 или 1)?
Ничегонеработает писал(а):Если используете в качестве TOP ICR1, то можно генерить импульсы на любом из выходов - OC1A или OC1B.
Ничегонеработает писал(а):Но зато функция захвата недоступна.
Pavel_777 писал(а):Gudd-Head писал(а):Будет. Только цоколёвку выводов программатора сверьте.
Это то есть где SCK, MOSI, MISO, RST, Vcc, Gnd?
слева!Gudd-Head писал(а):Изначально задача была генерить импульс каждые 3 такта.
Ничегонеработает писал(а):Ну а если период нужно менять "на ходу", то предпочтительней OC1A, так как у него работает двойная буферизация.
Gudd-Head писал(а):Покурим какие это даёт преимущества...