Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 14 maja 2026, o 09:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 7 gru 2014, o 18:05 
Offline
Nowy

Dołączył(a): 15 lis 2014
Posty: 16
Pomógł: 0

Cześć!
Jestem w trakcie studiowania książki Pana Mirka ( nie pracuję na zestawie uruchomieniowym, zbudowałem układ na atmedze 328P ) i dotarłem do projektu z wyświetlaczem LCD. Przerobiłem odpowiednio kod z płyty CD aby był odpowiedni do atmegi328P z taktowaniem zewnętrznym 16MHz. Wszystko działa poprawnie czyli wyświetla się na LCD z wyjątkiem danych z pamięci EEPROM. Zamiast łańcucha znaków na wyświetlaczu mam puste komórki a zamiast znaku mam całą komórkę czarną. Zacząłem dochodzić w czym problem, sprawdziłem funkcje w kodzie ale wszystko jest w najlepszym porządku. W następnej kolejności sprawdziłem czy globalnie zdefiniowany łańcuch znaków w pamięci EEPROM:

char EEMEM tab2[] = {"EEPROM"};

w ogóle zapisuje się w tej pamięci. Za pomocą mkAvrcalculatora odczytałem pamięć EEPROM, całą wypełnioną jedynkami. Tłumaczy to pusty ciąg znaków na wyświetlaczu (gdy funkcja wypisująca ciąg znaków odczyta z EEPROM 0xFF to automatycznie kończy działanie) oraz "czarną" komórkę przy wypisywaniu znaku.

Zrobiłem test polegający na dwojakim zapisie łańcucha znaków do EEPROM ( Odkomentowanie linijki z #define(...) nic nie zmienia). Wyniki widać na zdjęciu:
[ proszę wklejać miniaturki TAK OGROMNYCH obrazków - na przyszłość (ew poprawe te co były) - te usunąłem niestety bo rozwalają formatowanie - mirekk36 ]

Skoro w książce znalazł się przykład w którym łańcuch znaków zapisujemy do EEPROM w taki sposób to oznacza że jest on prawidłowy jednak u mnie jak widać nie działa. Z AVRami pracuję stosunkowo niedługo więc nie potrafię dojść gdzie leży problem. Byłbym bardzo wdzięczny za wszelką pomoc.

Pozdrawiam!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 gru 2014, o 18:38 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27460
Lokalizacja: Szczecin
Pomógł: 1045

Cytuj:
Skoro w książce znalazł się przykład w którym łańcuch znaków zapisujemy do EEPROM w taki sposób to oznacza że jest on prawidłowy jednak u mnie jak widać nie działa.

Bo trzeba zaznaczyć we właściwościach AVRDUDE żeby podczas wgrywania pliku HEX wgrywał także EEP czyli zawartość EEPROM

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 gru 2014, o 18:40 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
Ja tak wizualnie ( bo nie wiem :))
czy zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

nie powinien być "odwrócony" ?:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Pozdr



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 gru 2014, o 19:08 
Offline
Nowy

Dołączył(a): 15 lis 2014
Posty: 16
Pomógł: 0

Bardzo dziękuję za pomoc Panie Mirku!

Kicajek, po ustawieniu w eclipsie zapisu .eep sprawdziłem obie wersje i obie działają :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO