Cześć chciałbym zapytać , bo trochę mam problem ze stosem dlatego ,że za dużo mam zmiennych globalnych i program zajmuje mi za dużo pamięci .
Przedstawię kod programu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
zmienna licz_cyfral określa odczytaną wartość z EPROMA następnie w funkcji test() jest rozdzielana przy pomocy zmiennych niestety globalnych uint8_t cy1,cy2,cy3,cy4,cy0;
zmienne określają liczbę dziesiątek , setek itd .
Odczyt zmiennej wygląda tak w momencie załączenia zasilania z wciśniętym przyciskiem miga raz dioda żółta rozdziela ona odczytywaną liczbę , następnie jeśli jest wartosią 0 miga czerwona , jeśli jest dodatnia to miga zielona tyle razy jaka jest wartość , następnie znowu miga żółta i określa następną cyfę.
Chyba napisałem trochę chaotycznie , przedstawię to na przykładzie :
liczba 20471 kolejność migania diody:
- żółta
- zielona dwa razy "2"
- żółta
- czerwona bo jest "0"
- żółta
- zielona cztery razy "4"
- żółta
- zielona siedem razy "7"
- żółta
- zielona 1 raz "1"
Pytanie polega na tym jak zmienne uint8_t cy1,cy2,cy3,cy4,cy0; przerobić na lokalne bo wynik kompilacji jest taki i trochę zajmuje:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.