Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Тема закрыта

Отладка программы в Протеусе

Вс июл 22, 2012 14:09:55

Товарищи, кто знает в чем дело? Написал программу в AVR Studio. Там же отладил. Все замечательно. Запускаю в Протеусе и тут - то выскакивает такой нюанс: у меня в главной функции имеется бесконечный цикл while(1), выглядит примерно так

int main(void)
{
bufer[0]=0;
bufer[1]=0;
bufer[2]=0;
bufer[3]=0;
DDRB=0xFF;
DDRA=240;
DDRC=0xFF;
PORTC=0;
ozhidanie(1, 's');
PORTC=1;
sei();
while(1)
{
init_USART();
ozhidanie(1, 'm');
while(bufer[3]==0);
intnapr=bufer[0];
maxnapr=bufer[1];
inttime=bufer[2];
bufer[3]=0;
nagrevatel(intnapr);
ozhidanie(inttime, 's');
USART_Transmit(soprotivlenie_1());

}
}


Т.е. получается, что некоторый кусок кода должен бесконечно повторяться. В AVR Studio все так и происходит, а вот Протеус каждый раз повторяет ВСЮ главную функцию целиком. ПОЧЕМУ?!!! У меня из-за этого принципиальные проблемы, т.к. глобальные переменные переопределяются заново и последнее их значение сбрасывается.

Re: Отладка программы в Протеусе

Вс июл 22, 2012 19:34:37

Делать
Код:
init_USART();

в цикле уже ошибка, а так ошибка в коде(который вы и не привели.)

Re: Отладка программы в Протеусе

Вс июл 22, 2012 21:59:36

возможно включен watchdog - он и сбрасывает микроконтроллер...
Тема закрыта