[an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено AD 01 сентября 2006 г. 21:26
В ответ на: Можно продолжить напрасную трату времени :) отправлено <font color=gray>AD</font> 01 сентября 2006 г. 20:35

Рассмотрим одноканальный шим.
Во-первых, понятно, что если у нас счетчик равняется 200, то для значений pwm (счетчика пилы, кстати, я забыл его посчитать в списке занятых регистров) < 200 делать ничего не надо вообще.
Далее при pwm == 200 переключаем выход в 0 и ничего не делаем до 256, где начинается новый цикл и выход снова становится 1.

Далее, перейдем к многоканальному.
Таблица состоит из пар счетчик:выход, отсортирована по увеличению счетчика.
При начале цикла в r0 загружается значение счетчика, соответствующее первому изменению выхода. При pwm == r0 выход изменяется, r0 & r1 грузятся новыми значениями, цикл повторяется. Если выход далее обновляться не будет - грузятся 0:0.

Предположим, что значения шима каналов 1:8 должны быть 11,12,13...18.
Тогда таблица будет выглядеть как
0xff, 11:0xfe, 12:0xfc, 13:0xf8 ... 18:0, 0:0
В начале цикла в порт уходит 0xff, r0=11, r1=0xfe.
При значении pwm 11 в порт уходит 0xfe, r0=12, r1=0xfc.
При значении pwm 18 в порт уходит 0x00, r0=0, r1=0.
Теперь до начала нового цикла ничего более происходить не будет.

С r2:r3 & r4:r5 аналогично.

Если значения шима для каналов, привязанных к одному порту, совпадут, то они обязательно должны быть слиты вместе, т.е. вместо 11:0xfe, 11:0xfx должно стоять 11:0xfc.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание