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



Teraz jest 29 mar 2024, o 16:04


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
Autor Wiadomość
PostNapisane: 1 mar 2013, o 12:52 

Pomógł: 0

Mam ostatnio "ciekawy" problem.

Z racji tego, że na wyświetlaczu zmienne wyświetlają się od lewa do prawa, czyli np, wyświetlamy 1, na miejscu np (0,0)
to dostajemy na wyświetlaczu
1
następnie wyświetlamy 10 w tym samym
10
następnie 100
100

No i teraz chcemy znowu wyświetlić 1
ale na wyświetlaczu dostaniemy
100, bo zera zostają z poprzedniej "razy" ;).

Poradziłem sobie z tym trochę na około stosując if-y
tj.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Co nie jest zbyt eleganckim (w/g mnie) rozwiązaniem, czy jest na to jakaś inna metoda, oczywiście bez lcd_cls.

Cały czas oczywiście mówię o wykorzystaniu bibliotek Mirka.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 14:19 
Offline
Moderator
Avatar użytkownika

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

albo bez żadnych IFów na szybko można po prostu zawsze po liczbie wyświetlać ze 2-3 spacje i one będą kasować zera (o ile zaraz po liczbie nie ma nic innego na LCD)

_________________
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: 1 mar 2013, o 14:25 

Pomógł: 0

W zasadzie tak.......jak zwykle na najprostsze rozwiązania najtrudniej trafić.....

A psikus......
Bo jak np. mam daną od (0,0) np Tr: 600,00C, to dając za nią przecież tyle samo spacji za napisem Tr:1,00C w przypadku tej dłuższej danej więcej spacji mi zmaże to co mam w tym samym rzędzie tylko dalej ;). To jednak nie jest takie proste.
Owszem, jak wyświetlamy mało, albo na dużym wyświetlaczu.
A ja mam 4dane + opisy na 2x16 to mam ciasno, muszę stosować if-y, zależnie od wielkości wyświetlanych danych tyle spacji. Inaczej się nie da.



Góra
  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 15:20 
Offline
Moderator
Avatar użytkownika

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

no to tak jak pisał kolega Gwyn wyżej .... albo co za kłopot napisać sobie własną funkcję nadrzędną typu:

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


czyli podajesz y,x a następnie ile znaków ma być kasowanych zawsze

trzeba korzystać z dobrodziejstw języka C ;) przecież takich rzeczy się nie pisze w bibliotekach .... bo każdy może to już zrobić na własny sposób .....

----------------

a najlepiej zrobić to w oparciu o warstwy ;)

_________________
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: 1 mar 2013, o 15:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

Zawsze możesz zbudować sobie dodatkową funkcję na bazie lcd_str_P , w której sprawdzisz jak długi jest string następnie miejsca nie potrzebne wypełnisz spacjami i dopiero wyślesz właściwy string.


Hihii Mirek mnie ubiegł i nawet dał rozwiązanie ;)

ale mi w tym brakuję jeszcze w parametrach długości potrzebnego stringa :)

------------------------ [ Dodano po: 1 minucie ]

Ooo i jeszcze w między czasie zmienił trochę kod ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2013, o 15:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

no i gitara :)

_________________
pozdrawiam
Jachu



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