|
Контроллер 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