kazekat napisał(a):
W eclipsie chyba czegoś takiego nie ma ale jest takie narzędzie(nie raz uratował mnie):
https://atnel.pl/i2c-scaner.htmlSądząc po tym, że autor wątku dołącza plik nagłówkowy <avr//eeprom.h>, to prawdopodobnie chce zapisywać dane w wewnętrznej pamięci EEPROM mikrokontrolera, a nie w zewnętrznej. Jeśli tak, to narzędzie do skanowania magistrali I2C mu nie pomoże. Poza tym, nawet gdyby chodziło o zewnętrzną pamięć EEPROM, to niekoniecznie przecież musi ona być obsługiwana poprzez magistralę I2C, może być np. poprzez SPI, przecież autor wątku tego nie napisał.
@ShanSongUwagi kolegi
Zealota są jak najbardziej zasadne. Ja chciałbym tylko jeszcze dodatkowo zaproponować, abyś uczył się od razu prawidłowego definiowania zmiennych w EEPROM.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Jeśli zdefiniujesz zmienne z atrybutem
EEMEM wtedy (w uproszczeniu):
- Kompilator sam zarezerwuje odpowiednią dla danego typu zmiennej ilość bajtów i automatycznie przypisze im adresy, pod którymi będą zapisane. Ty nie będziesz musiał pamiętać i zastanawiać się, pod którym adresem jest odpowiednia zmienna, będziesz mógł się do zmiennych odwoływać za pomocą ich nazw (używając operatora &), tak jak to pokazałem w powyższym fragmencie kodu. Przy trzech zmiennych pamiętanie ich adresów to jeszcze może nie problem, ale jeśli umieścisz ich tam kilkanaście lub kilkadziesiąt, a może w dodatku jakieś tablice i struktury...
- Jeśli przypiszesz tym zmiennym jakieś wartości początkowe, to podczas budowania programu zostanie utworzony plik z rozszerzeniem *.eep, którego będziesz mógł użyć podczas programowania mikrokontrolera, aby te wartości początkowe od razu do pamięci EEPROM wpisać. Oczywiście nadal będziesz mógł w trakcie działania programu te dane odczytywać i zapisywać tam nowe wartości.
Jeśli chodzi o podgląd zmiennych w poszczególnych typach pamięci (FLASH, EEPROM, RAM) oraz symulowanie pracy programu i obserwowanie, co się dzieje w poszczególnych rejestrach mikrokontrolera, to Atmel Studio 7 ma całkiem niezły symulator i debugger. Wprawdzie wymaga to nieco czasu, żeby opanować podstawy obsługi tych narzędzi, ale moim zdaniem warto, bo czasami (nie tylko) dla początkujących są bardzo pomocne. Wprawdzie mają swoje ograniczenia (szczególnie symulator nie zawsze jest w stanie zrobić wszystko to, co debugger sprzętowy), ale dla początkującego, przy prostych programach te ograniczenia nie powinny stanowić większego problemu.