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



Teraz jest 3 kwi 2026, o 03:12


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 6 lip 2014, o 09:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

witam Kolegów
popełniłem taki oto kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


wiem, że "lcd_init();" w pętli głównej to zły pomysł, ale jak nie dam tej komendy to na wyświetlaczu mam w dwóch linijkach same zera - gdzie robię błąd?

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 10:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Ponowna inicjalizacja wyświetlacza w głównej pętli programu to faktycznie w większości przypadków nie jest najlepszy pomysł. Być może problem stanowi zbyt mały rozmiar bufora, który jest w stanie pomieścić w zasadzie tylko jedną cyfrę (plus znak końca łańcucha znakowego). Dla dwu-bajtowego typu (int), czyli zmiennej ze znakiem, minimalny rozmiar bufora to 7 bajtów.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 10:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

zmieniłem rozmiar bufora na "10"
niestety nie pomaga bez lcd_init(); mam dwie linijki zer

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 10:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Te zera są spowodowane oczywiście zapisem danych do kolejnych komórek pamięci DDRAM wyświetlacza i jest to całkiem normalne przy braku ustawienia pozycji kursora, bądź też wykonania instrukcji czyszczenia wyświetlacza (lcd_cls()).

Z jakim mikro-klockiem mamy do czynienia?

Jeśli to np. ATmega8 to spróbuj może testowo ustawić rejestr TCCR1B w ten sposób:

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



Ostatnio edytowano 6 lip 2014, o 10:36 przez atmel, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 10:35 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

procek to ATMega16
jeżeli dam instrukcję "lcd_cls();" to wyświetlacz jest czysty
zaraz spróbuję z funkcją "locate(x,y)

_________________
Pomóżcie mi stanąć na nogi



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 10:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 07 kwi 2013
Posty: 418
Lokalizacja: Rzeszów
Pomógł: 102

Przy takiej "prędkości" wykonywania głównej pętli programu, wyświetlane dane są momentalnie kasowane, co faktycznie może dawać wrażenie czystego ekranu...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 lip 2014, o 10:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 cze 2014
Posty: 855
Lokalizacja: pod Warszawą
Pomógł: 58

instrukcja "lcd_locate(0,0);" załatwia sprawę
oto poprawnie działający kod

może się komuś przyda
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Pomóżcie mi stanąć na nogi



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: 7 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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