реклама на сайте
подробности

 
 
> Нужна помощь новичку, CodeVIsion + Proteus + 90s8535. Обнуляется переменная.
sns
сообщение Nov 10 2006, 11:01
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 10-11-06
Пользователь №: 22 162



Привет,

Совсем чайник в программировании микроконтроллеров.
Пытаюсь соорудить таймер - изучаю и ковыряю 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;
}

Все коряво и некрасиво, но для тестирования наверняка - похоже на правду.

Таймер работает и прерывание срабатывает, но переменные приходят пустыми в функцию.
Вочдог выключен, где копать - не могу найти.

ПОдскажите!
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01336 секунд с 7
ELECTRONIX ©2004-2016