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



Teraz jest 4 mar 2026, o 23:08


Strefa czasowa: UTC + 1





Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 21 sty 2014, o 15:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Witam Szanownych i tych mniej Szanownych Forumowiczów (czyli witam wszystkich)
Mam takie małe pytanko. Ale zanim je zadam to opowiem od Adama i Ewy jak to ze lnem było.
Otóż postanowiłem stworzyć pewne urządzonko, którego elementem interakcji z użytkownikiem jest m.in. wyświetlacz NOKIA 5110. Wyświetlacz o wymiarach 84x48 ma to do siebie, że na wyświetlenie o pełnych wymiarach potrzeba 506 bajtów. Biorąc pod uwagę to, że ATMEGA8 (bo takiego procesora używam) ma tylko 1024 bajty SRAMu łatwo domyślić się, że niewiele można wrzucić obrazków zwłaszcza, jak się ma w pamięci dane dla czcionki. Dlatego w tym miejscu z pomocą miała mi przyjść kość 24C16. Pewnie w tym miejscu padnie pytanie "dlaczego właśnie ta kość?", dlatego, że taką miałem na stanie. Pamięć ta charakteryzuje się tym, że ma wielkość 16 kB pogrupowane po 8x2048 bajtów. Mnie w zupełności wystarczy 2kB. Więc pogrzebałem w internecie i znalazłem te stronę --> http://www.embedds.com/programming-avr-i2c-interface/. Na płytce stykowej przyczepiłem wszystkie elementy tj, wyświetlacz, procesor, zasilanie i pamięć. Wpisałem obrazek do pamięci procesora i napisałem program zapisujący go w EEPROMie. Wszystko poszło jak po maśle. Oczywiście wcześniej zapisałem kilka bajtów w różnych miejscach, wyciągnąłem kość, napisałem program odczytujący, kość podłączyłem i odczytałem dane, które wyświetliłem na LCD. Wszystko pięknie działało. To spróbowałem wrzucić obrazek. Obrazek był wielkości 192 bajtów więc napisałem program w pętli, który wyglądał mniej więcej tak (pisze z pracy, a tu nie mam programu)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


No i zapis danych do pamięci się udał. Przyszedł czas na odczyt danych z pamięci. W tym celu zmieniłem powyższy program na troszkę inny:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


I tu pojawia się problem. Całość dochodzi do 56 iteracji, a następnie ekran się robi biały, a wszystko wygląda jakby się zawiesiło. Podejrzewam, że wyszedłem poza dostępną pamięć (w pamięci w końcu jest też czcionka, która zajmuje 75%). Czy ktoś może mi powiedzieć co jest nie tak? W sumie nie wiem gdzie popełniłem błąd. Jakieś pomysły? Dziękuję za wszelkie rady

Dodam tylko, że Rysunek jest zadeklarowany jako
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Dodam też, że na początku w zmiennej rysunek też się coś znajduje bo chciałem wyświetlić rysunek, nadpisać go z EEPROMu i wyświetlić drugi rysunek ten co był w EEPROMie.

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
 
PostNapisane: 21 sty 2014, o 15:49 
Offline
Użytkownik

Dołączył(a): 20 wrz 2013
Posty: 647
Zbananowany użytkownik

Pomógł: 101

Funkcja EEReadByte jako drugi parametr powinna mieć wskaźnik do uint8_t, czyli powinno być jakoś tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Autor postu otrzymał pochwałę

_________________
+++++[>++++<-]>[>++++++<-]>.---------.+++.



Góra
 Zobacz profil  
 
PostNapisane: 21 sty 2014, o 20:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 cze 2013
Posty: 988
Lokalizacja: Byram, MS 39272
Pomógł: 55

Działa, podziękował. Niech Ci Bozia w dzieciach wynagrodzi :mrgreen:

_________________
Pomysły na podpis - wyślij SMSa +1 769 243 0011



Góra
 Zobacz profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Ten wątek jest zablokowany. Nie możesz w nim pisać ani edytować postów.  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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