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



Teraz jest 12 mar 2025, o 23:22


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 23 gru 2014, o 16:07 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

Witam

Nie wiem co moze byc przyczyną dziwnego wyswietlania zmiennej na wysw. hd44780 .

Przy zmniejszaniu wartości tej zmiennej poniżej 10 wyświetlacz zamiast 9 pokazuje 90 itd. 80 potem 70
niewiem dlaczego pojawia się to zero .

zmienna jest typu int16_t
wyswietlam wartość zmiennej za pomocą funkcji lcd_int(zmienna);

o co tu chodzi , co jest źle zrobione ??:-)

Pozdrawiam: Mac



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 16:26 
Offline
Użytkownik
Avatar użytkownika

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

Przyczyną może być pozostawienie zera wyświetlanego dla liczby "10". Najlepiej po wyświetlaniu liczby dopisz jeszcze do wyświetlacza kilka spacji, aby wyczyścić poprzednią zawartość pamięci wyświetlacza dla sąsiednich komórek. Nie wiem jakie masz dostępne funkcje, ale coś na wzór:

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  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 16:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 lip 2013
Posty: 420
Lokalizacja: Kraków
Pomógł: 17

lub też można pomiędzy każdym wyświetlaniem zmiennej czyścić cały lcd, ale jest to mniej optymalne ;)

_________________
GreenBook i BlueBook



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 17:30 
Offline
Użytkownik

Dołączył(a): 29 wrz 2014
Posty: 28
Pomógł: 5

Koledzy wyżej mają rację. Po przejściu z liczby dwucyfrowej na pojedyncze cyfry, gdy procesor wysyła zmienną na LCD to w sterowniku tego wyświetlacza w jego pamięci RAM pozostaje bajt danych (to "niechciane" zero), który nie jest nadpisywany. Dlatego wysyła się zaraz za zmienną pusty bajt danych (spację), który ma tą komórkę "wyczyścić" i pozostawić pusty segment na wyświetlaczu.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 17:33 
Offline
Użytkownik

Dołączył(a): 29 mar 2012
Posty: 595
Lokalizacja: Jaworzno
Pomógł: 39

Kolego Mac, gdybyś pokazał kawałek kodu z main.c, który pozycjonuje kursor i wyświetla wartość to może Twoja zagadka byłaby już rozwiązana ;)

_________________
Pozdrawiam
PP



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 gru 2014, o 17:45 
Offline
Użytkownik

Dołączył(a): 10 kwi 2014
Posty: 141
Lokalizacja: 3-miasto
Pomógł: 0

zrobiłem jak kolega ATMEL poradził i wszystko juz jest ok

DZIEKI



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

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