Привет,
Совсем чайник в программировании микроконтроллеров. Пытаюсь соорудить таймер - изучаю и ковыряю 90с8535 при помощи CodeVision & Proteus.
Программка запускает таймер 2 в асинхронном режиме от часового кварца. В принципе все работает, но переменные сбрасываются.
Вот объявление переменных - unsigned char nextdigit=0x00; unsigned char segment=0x02;
Вот обработка таймера: interrupt [TIM2_OVF] void timer2_overflow(void) { //if (segment==0x03) segment=0x00; // else segment++;
if (segment==0x00) PORTD=0b10000000; if (segment==0x01) PORTD=0b01000000; if (segment==0x02) PORTD=0b00100000; if (segment==0x03) { PORTD=0b00010000; segment=0x00;}; segment++; nextdigit++; //PORTD=segment; }
Все коряво и некрасиво, но для тестирования наверняка - похоже на правду.
Таймер работает и прерывание срабатывает, но переменные приходят пустыми в функцию. Вочдог выключен, где копать - не могу найти.
ПОдскажите!
|