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



Teraz jest 8 lip 2026, o 01:55


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
Autor Wiadomość
PostNapisane: 4 sty 2016, o 17:56 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 398
Lokalizacja: Głogów
Pomógł: 11

Witam, Jak wyświetlać zmienną która jest co sekundę inkrementowana?
jeśli wyświetlam ją w tym samym miejscu na ekranie to po chwili piksele zlewają się ze sobą i nie da się odczytać wyniku.
Jeśli natomiast odświeżam cały wyświetlacz co sekundę to widać denerwujące migotanie wyświetlacza.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 18:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jedną z wielu możliwości, np.
1. czyścisz tylko obszar gdzie masz wyświetlane sekundy
2. wyświetlasz pixle sekund zapalone oraz zgaszone a nie robisz or-a wyświetlanej wartości sekund z informacją na wyświetlaczu
3. wszystkie dane do wyświetlenia na ekranie masz w buforze i nie czyścisz ekranu komendą czyszczenia tylko wysyłasz cały obraz z bufora do lcd

--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 18:11 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 398
Lokalizacja: Głogów
Pomógł: 11

AD3 nie wiem czy dobrze rozumiem, ale chodzi o to że wysyłam dane nie bezpośrednio do wyświetlenia, tylko do obszaru niewidocznego w pamięci sterownika i po załadowaniu całości przesuwam obraz na aktywny obszar wyświetlania?
Muszę jeszcze raz się wciągnąć w GB ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 18:30 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Jak masz wyświetlacz z buforowaniem to tak.
Ale możesz robić to w ramie i potem wysyłasz do wyświetlacza już gotowy obraz. Po prostu czyścisz bufor, rysujesz w nim swoje elementy w buforze (a to przy funkcjach graficznych potrafi trwać trochę) a potem wysyłasz cały bufor do wyświetlacza.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 19:18 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 398
Lokalizacja: Głogów
Pomógł: 11

Wyświetlacz o wielkości 4,3 cala więc chyba można w nim robić buforowanie. Potrzebuje zmieniać tylko parę zmiennych które bym chciał zmieniać co sekundę a reszta to tło które po załadowaniu pozostanie niezmienione więc na razie próbuje czyścić tylko ten fragment wyświetlacza gdzie będę aktualizować zmienne rysując czarny prostokąt zawsze przed ich wyświetleniem. Nie czy taka idea też może być słuszna?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 19:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
będę aktualizować zmienne rysując czarny prostokąt

Jak tło jest czarne a litery jasne to OK :)
Możesz zrobić tej wielkości bufor w RAM i w nim aktualizować (rysować) wartość licznika i wysyłać do wyświetlacza jako bitmapę. Tylko nadpisującą ten obszar a nie dodającą.

--
Pozdrawiam,
Robert

------------------------ [ Dodano po: 6 minutach ]

Nie wiem jakie masz biblioteki do rysowania na tym wyświetlaczu i czy ma on wbudowane fonty i piszesz w nim "tekstowo" czy wszystko rysujesz. Ale jak i tak generujesz obraz znaków i to w stałym miejscu, to najprościej jest wysyłać wszystkie pixle (znaki oraz tło) i w ten sposób od razu czyścisz co miałeś poprzednio.
Jak bawiłem się małym OLEDem to zrobiłem funkcję pisania z dodatkowym parametrem do zaawansowanego sterowania tłem pod znakami. Wydaje mi się, że w Mirek poradnikach o OLEDach też coś takiego robił.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 sty 2016, o 19:36 
Offline
Użytkownik

Dołączył(a): 08 mar 2014
Posty: 398
Lokalizacja: Głogów
Pomógł: 11

Korzystam z bibliotek z Greenbooka. I wszystko stało się jasne :D takie niby proste a na to nie wpadłem. Już działa elegancko :)



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 9 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