ШИМ AVR

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 2
Зарегистрирован: Чт окт 24, 2013 17:18:06

Сообщение sereg »

Доброго времени суток! Знаю такая тема широко распространена, но все-равно ничего не помогло, поэтому обращаюсь к вам. В общем имеется два канала, причем второй канал инверсный, и нужно менять скважность при нажатии кнопки с помощью ШИМ.

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

void main(void){
PORTB=0b00000000;
DDRB= 0b00011000;

ASSR=0x00;
TCCR2=0x7D;
TCNT2=0x00;
OCR2=50;
TIMSK=0x00;

while (1)
{
PORTB.4=!PINB.3;

if(PINB.1==1)
{
PORTB.3=0;

OCR2=OCR2+0x05;

delay_ms(2);
}

if(PINB.2==1)
{
PORTB.3=1;

OCR2=OCR2-0x05;

delay_ms(2);

}
}
}
Реклама
vek
Вымогатель припоя
Аватара пользователя
Сообщения: 563
Зарегистрирован: Чт апр 16, 2009 04:53:41

Сообщение vek »

И в чем проблема?

В TCCR бит СТС нужен?хотя в ШИМ-режиме он игнорируется.
В первый раз меня ударило током - и я подумал что ни черта не соображаю в электричестве. Во второй раз был аккуратнее и меня не ударило - теперь я возомнил из себя крутого микроэлектронщика.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2209
Зарегистрирован: Вт июл 27, 2010 11:31:59
Откуда: Кххх

Сообщение minakan »

Какие каналы? Какой процессор? :tea:
Если предположить, что mega8 то вполне себе меняется скважность по нажатию кнопок на pb0,pb1.
Изображение
Вложения
m8.png
(4.9 КБ) 522 скачивания
Ответить

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