analogWrite: битовые операции и манипуляции с регистрами
- Войдите на сайт для отправки комментариев
Пнд, 22/04/2013 - 00:09
Вопрос проще проиллюстрировать примером.
DDRD = DDRD | B00001000;
Так мы включили порт PD3 в режим OUTPUT
PORTD&=~(1<<3);
Так мы на выход PD3 отдаем "0"
PORTD|=(1<<3);
Таким образом - "1"
Но! На PD3 - можно организовать ШИМ (напиать analogWrite(3, 100); к примеру).
А как то же самое (ШИМ) организовать манипуляциями с регистрами?
Понимаю, что надо даташит штудировать, но может, кто-то это уже прошел и подскажет?
В библиотеке есть ответ на ваш вопрос. http://arduino.ru/forum/programmirovanie/analogwrite-na-lyubom-vyvode
maksim, тут немного не так.. по ссылке делаем шим, где их не было.. а тут - уже и так есть. Проблема в том, чтобы быстро (как можно скорее) включить нужную скважность сигнала на выходе.
На таймер в режиме CTC не смотрели?
Тогда тут смотрите ,а вообще все верно - курите даташит и гугл как настраивать Т/С в режиме ШИМа.
Нет, что это? где почитать (вдруг ссылочка под рукой есть)?
Вот здесь есть краткое, но понятное описание:
Таймеры - http://samou4ka.net/page/tajmer-schetchik-mikrokontrollerov-avr
ШИМ - http://samou4ka.net/page/shirotno-impulsnaja-moduljacija-shim-pwm-mikrokontrollerov-avr
Спасибо! Вечерком изучу :)