Проблемы в AVR с дерганьем ноги по сравнению таймера.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено nord 18 апреля 2004 г. 23:37

Контроллер Mega16. Собирался сделать с таймером 1 такой фокус:
Устанавливаю прерывание по переполнению, и сброс ноги в ноль по сравнению. Во время прерывания хочу установить ногу опять в 1, чтобы следующее сравнение сбросило его в 0 и никак не получается. Как это делается? Я делал так:

//Инициализация счетчика
TIMSK = (1 << TOIE1);
OCR1A = OCR1B = 0xffff - 8000;
TCCR1A = 0xa0;
TCNT1 = 0xffff - 16000;
TCCR1B = 0x01;

//Внутри прерывания по переполнению
TCNT1 = 0xffff - 16000;
TCCR1A = 0;
PORTD_Bit4 = 1;
PORTD_Bit5 = 1;
TCCR1A = 0xa0;

Как ожидал меандра не получил, а только очень короткие единицы


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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru