Нет, не зря видимо собака лает..
У меня по взведенному биту прога должна заходить в цикл while(bit) внутри цикла while(1). Заходить, то она заходит, но пробежав его 1 раз улетает неизвестно куда. В while(bit) то уж точно не заходит, это видно по строкам в VMLAB.
В очень урезанном виде код выглядит так:
- Код: Выделить всё • Развернуть
void step_x(void)
{
i++;
if(i>7) i=0; //esli matrica step_ proidena vozvrat v na4alo matricy
PORTB=step_mx[i]; //zapis shaga v port PORTC elementa matricy step_mx
}
void main(void)
{
init();
while (1)
{
if(st_x) step_x(); //vyzov funkcii shagov po "X"
if (!PINC.0) on=1;
while (on)
{
if(st_x) step_x(); //vyzov funkcii shagov po "X"
if (!PINC.5) on=0;
}
}
}
Никак не понять, почему он на задерживается в цикле и почему ему заново в него не войти, ведь условие входа выставлено??????
avr123.nm.ru писал(а):...если не включал WDT и не используешь его.
В каких случаях и как используют инструкцию WDT???