Buna ,
Am nevoie de ajutor , va rog ajutati`ma , am scris un program in Code::Blocks. Am un microcontroler ATmega8535, 8 digiti pe care incerc sa afisez ceasul. In C# prima data cand '' apas'' butonul pentru trimiterea datelor, imi afiseaza corect ceasul, dar daca modific minutul sau ora si trimit ... nu mi se mai modifica nimic . Problema este din programul sursa, imi ramane blocat ... cred... in bucla .. si nu imi face un reset cand trimit a doua oara datele ... Aici este programul .. main`u` ...
nr_bytes_rec=0;
while (1)
{
__watchdog_reset();
__no_operation();
if( (UCSRA & (1<<RXC)) )
{
datax=UDR;
nr_bytes_rec = nr_bytes_rec+1;
if (nr_bytes_rec==1)
{data1=datax;
if(data1=='S')
{
}
else
{nr_bytes_rec=0;}
}
if(nr_bytes_rec==2)
{data2=datax;
if(data2=='E')
{
}
else
{nr_bytes_rec=0;}
}
if(nr_bytes_rec==3)
{data3=datax;
if(data3=='T')
{
}
else
{nr_bytes_rec=0;}
}
{
if(nr_bytes_rec==4)
{data4=datax;}
if(data4==EEPROM_read(127))
{
if(nr_bytes_rec==5)
{rxhour=rxhour+(datax-0x30)*10;
hour = rxhour;}
if(nr_bytes_rec==6)
{rxhour = rxhour+(datax-0x30);
hour = rxhour;
rxhour=0;}
if(nr_bytes_rec==8)
{rxmin=rxmin+(datax-0x30)*10;
min = rxmin;}
if(nr_bytes_rec==9)
{rxmin=rxmin+(datax-0x30);
min=rxmin;
rxmin =0;
nr_bytes_rec=0;
}
}
}
}
}
}
