Привет,
Совсем чайник в программировании микроконтроллеров.
Пытаюсь соорудить таймер - изучаю и ковыряю 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;
}
Все коряво и некрасиво, но для тестирования наверняка - похоже на правду.
Таймер работает и прерывание срабатывает, но переменные приходят пустыми в функцию.
Вочдог выключен, где копать - не могу найти.
ПОдскажите!