Witam,
Kombinuję przy zapisie/odczycie ustawień urządzenia do/z EEPROM. Chodzi o to, że przy zmianie ustawień, zapisywana jest oda razu kopia struktury do EEPROM, a przy uruchomieniu urządzenia odczyt struktury z EEMEM do struktury w RAM.
Wszystko działa poprawnie gdy używam bezpośrednio funkcji systemowych. Jednak chciałem sobie uprościć zadanie, żeby nie wpisywać za każdym razem wielkości bloku danych i to już nie działa tak jakbym chciał. Już pokazuję na przykładach o co chodzi:
To pewnie mało ważne, ale mam taką strukturę danych oraz zmienne, w których przechowuję ustawienia pieca:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Gdy stosuję funkcje systemowe (poniżej) wszystko jest ok. Dane ładnie się zapisują i odczytują.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jednak napisałem funckcje, w których przekazuję tylko źródło i miejsce docelowe danych, a rozmiar danych już miał się ustawiać automatycznie (i tu pewnie robię jakiegoś babola).
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Przy takim rozwiązaniu to nie działa.
Działa dopiero gdy rozmiar danych określę na sztywno
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Co mam wpisać w sizeof( ??? ) żeby rozmiar danych był obliczany automatycznie, żebym nie musiał za każdym razem zmieniać tego ręcznie
Będę wdzięczny za podpowiedź.