Panowie mam taki problem mam tablice 6 znakową i z niej wymnażam licznik który później zapisuje do eeprom. Wygląda to tak.
i program się wysypuje i powoduje zły zapis jak to rozwiązać doszłem do tego że gdzieś jest błąd w tym co wylicza. Bo program przy liczbie z zakresu 2 przechodzi przez wszystkie pentle a program z zakresu 3 przechodzi tylko prez 3,2 petle zapisu.
unsigned char licznik[6] = {0,0,0,0,0,0};
void licznik(void)
{
unsigned long int stan=0;
stan = ((licznik[0]*100000)+(licznik[1]*10000)....+licznik[5]);
if(stan<=255)
{
eeprom_write(address,stan);
}
if(256 <= stan <= 65535 )
{
eeprom_write(address,stan);
eeprom_write(address,stan>>8);
}
if(65536<=stan<=999999)
{
eeprom_write(address,stan);
eeprom_write(address,stan>>8);
eeprom_write(address,stan>>16);
}
//byte 4 jest ignorowany nie potrzebny
}
i program się wysypuje i powoduje zły zapis jak to rozwiązać doszłem do tego że gdzieś jest błąd w tym co wylicza. Bo program przy liczbie z zakresu 2 przechodzi przez wszystkie pentle a program z zakresu 3 przechodzi tylko prez 3,2 petle zapisu.
