реклама на сайте
подробности

 
 
> Изучаю архитектуру процессора AVR, Вопросы чайника о принципах работы процессора.
Буратино
сообщение Mar 22 2010, 08:08
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Разбираюсь с ШИМ у Меги88. Настроил режим "Fast PWM" на таймере 0, по аналогии сделал и на таймере 2, но

на выводе "ОС2B" частота выше в два раза, чем на "ОС0B" и "ОС0A" sad.gif
На "ОС2A" совсем нет ШИМ, уж не знаю с чем это связано, возможно с тем что этот вывод (PB3) имеет альтернативную функцию "MOSI"?

Код
void Timer0_Init(void) {
    TCCR0A |= (1<<COM0B0)|(1<<COM0B1)|(1<<COM0A0)|(1<<COM0A1)|(1<<WGM01)|(1<<WGM00);    /*Инициализация таймера "0" в режим Fast PWM (non-inverting)*/
    TCCR0B &= (1<<WGM02);
    
    TCCR0B |= (1<<CS02);
    TCCR2B &= ~((1<<CS00)|(1<<CS01));
    
    TCNT0 = 0x00;        
    OCR0A = 0x20;
    OCR0B = 0x20;
}

void Timer2_Init(void) {
    TCCR2A |= (1<<COM2B0)|(1<<COM2B1)|(1<<COM2A0)|(1<<COM2A1)|(1<<WGM21)|(1<<WGM20);    /*Инициализация таймера "2" в режим Fast PWM (non-inverting)*/
    TCCR2B &= (1<<WGM22);

    TCCR2B |= (1<<CS22);
    TCCR2B &= ~((1<<CS20)|(1<<CS21));

    TCNT2 = 0x00;        
    OCR2A = 0x20;
    OCR2B = 0x20;
}



Посмотрите всевидящим оком, в чем может быть причина?

Еще я подметил что на 157й страничке даташита "ATmega48/88/168" ошибки в таблице 17-8 "Waveform Generation Mode Bit Description". Там, в шапке, биты странно названы, не так как в том месте где указывается их расположение в байте конфигурации. Ну или я что-то не так понял?

Спасибо!


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.01342 секунд с 7
ELECTRONIX ©2004-2016