Witam,
Prosze o pomoc wyrafinowanych programistow.
Tworze kolejne wersje oprogramowania i chce miec pewnosc, ze dane znajdujace sie w eeprom atmega128 zawsze beda odczytane prawidlowo, jakkolwiek zostanie zmienione zrodlo przed kompilacja. Mam ten problem, ze:
eeprom_read_byte ( *adres ) - czyta zawartość pamięci spod adresu adres,
ale jek sprawic, aby adres byl zawsze pobierany z definicji:
#define RTC_LANGUAGE_EEPROM_ADR 1
// jak wiemy adres 0 jest odradzany z powodu mozliwosci utraty danych
uint8_t grtc_language;
eeprom_write_byte(RTC_LANGUAGE_EEPROM_ADR, grtc_language);
Powyzsza komenda dziala tak jak nalezy, jednak z powodu wymagania wskaznika,
otrzymuje komunikat:
h_eeprom.c:29: warning: passing arg 1 of `eeprom_write_byte' makes pointer from integer without a cast
Z tym nie potrafie sobie poradzic, ogolnie dostepne przyklady mowia, ze nie interesuje nas pozycja w pamieci. Natomiast ja chcialbym mieć pewnosc wgrywajac nowy soft, ze dane sa poprawnie odczytane.
Pozdrawiam wszystkich i dziekuje z gory za wypowiedz,

Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięjaki jest adres zmiennych w eeprom atmega128 - winavr
Moderatorzy:Jacek Bogusz, procesorowiec, r-mik, Moderatorzy
Jeśli kompilator chce wskaźnika , to mu go daj
Piotrek

Kod: Zaznacz cały
eeprom_write_byte((char*)RTC_LANGUAGE_EEPROM_ADR, grtc_language);
Bingo, dzieki kolego. Wlasnie o to chodzilo. Czy zastosowanie tego ?operatora? to rzutowanie?Jeśli kompilator chce wskaźnika , to mu go daj
PiotrekKod: Zaznacz cały
eeprom_write_byte((char*)RTC_LANGUAGE_EEPROM_ADR, grtc_language);
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości