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



Teraz jest 22 gru 2024, o 14:15


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
Autor Wiadomość
PostNapisane: 14 sty 2017, o 18:43 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Witam
Czy ktoś z forumowiczów używa biblioteki PP_TFTLCD? mam taki problem że dane na wyświetlaczu które odczytuje i chce wyświetlić nakładają się na siebie tz. jeśli chce wyświetlić liczbę 8 a następnie 2 to wszystkie piksele które wyświetlały liczbę 8 zostają na wyświetlaczu i dochodzą następne z liczby 2.

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



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


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2017, o 19:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

W oryginalnej bibliotece Arduino tft_lcd były 2 funkcje do ustawiania koloru czcionki. W pierwszej wersji (tak też jest u Ciebie) settextcolor miał jeden argument - kolor czcionki (textcolor), tło było "przezroczyste"

Druga wersja tej funkcji w bibliotece posiada drugi argument kolor tła (textbgcolor). U mnie po przeportowaniu z Arduino do C, funkcja wyglada tak:

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



Poniżej funkcja jedno argumentowa:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2017, o 21:41 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

W obu plikach zmieniłem linijki ale wywala hasło że C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:74:3: error: 'textbgcolor' was not declared in this scope

textbgcolor = b;

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


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


Zdaje sie że program nie używa takiej funkcji jak 'textbgcolor'



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 sty 2017, o 23:07 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

To jest zmienna typu uint_16t. A zadeklarowałeś ją przy okazji przeróbki funkcji której przykład Ci podałem naprowadzając, z czego wynika nie gaszenie pikseli przy wypisywaniu tekstu?

Żeby niepotrzebne piksele zmieniły kolor na identyczny z tłem zmiennej textbgcolor przy wywoływaniu funkcji przypisuj ten sam olor co w funkcji Twojej tft.fillscreen.


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


na coś takiego:

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


I oczywiscie w kodzie tam, gdzie kolega ma funkcję:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


zmienić na:

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 11:10 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Przepraszam ale na języku C się na tyle nie znam więc pozostaje mi tylko wklejać to co kolega mi tu podsyła

dalej program się nie kompiluje

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


Wcześniej nie wygaszał pixeli a teraz to nie chce się nawet skapilowac

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp: In member function 'void PP_TFTLCD::setTextColor(uint16_t, uint16_t)':

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:74:3: error: 'textbgcolor' was not declared in this scope

textbgcolor = b;

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp: In member function 'virtual size_t PP_TFTLCD::write(uint8_t)':

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:85:47: error: 'textbgcolor' was not declared in this scope

drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp: At global scope:

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:99:6: error: prototype for 'void PP_TFTLCD::drawChar(int16_t, int16_t, unsigned char, uint16_t, uint16_t, uint8_t)' does not match any in class 'PP_TFTLCD'

void PP_TFTLCD::drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color,

^

In file included from C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.cpp:1:0:

C:\Users\Endu\Arduino\libraries\PP_TFTLCD-master\PP_TFTLCD.h:101:8: error: candidate is: void PP_TFTLCD::drawChar(uint16_t, uint16_t, char, uint16_t, uint8_t)

void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t s = 1);

^

exit status 1
Błąd kompilacji dla płytki Arduino/Genuino Uno.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 13:24 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

A może jest gdzieś inna biblioteka??? ja przekopałem chyba cały internet i tylko na jednej mi działa a raczej częściowo dziala
Jak sprawdzam identyfikator wyświetlacza to wyskakuje mi C505



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 16:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

Bo nadal nie zadeklarowales tej zmiennej. W Aruino C++ robi się to identycznie przecież.

-----

To wszystko jest w bibliotece GFX dla Arduino. Przegladnij ja sobie. Porównaj ze swoimi funkcjami.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 19:09 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Nadal same błęd

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


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



C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp: In member function 'virtual size_t PP_TFTLCD::write(uint8_t)':

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:85:69: error: no matching function for call to 'PP_TFTLCD::drawChar(uint16_t&, uint16_t&, uint8_t&, uint16_t&, uint16_t&, uint8_t&)'

drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:85:69: note: candidate is:

In file included from C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:1:0:

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.h:101:8: note: void PP_TFTLCD::drawChar(uint16_t, uint16_t, char, uint16_t, uint8_t)

void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t s = 1);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.h:101:8: note: candidate expects 5 arguments, 6 provided

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp: At global scope:

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:100:6: error: prototype for 'void PP_TFTLCD::drawChar(int16_t, int16_t, unsigned char, uint16_t, uint16_t, uint8_t)' does not match any in class 'PP_TFTLCD'

void PP_TFTLCD::drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, uint16_t bg, uint8_t size) {

^

In file included from C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.cpp:1:0:

C:\Users\Endu\Arduino\libraries\PP_TFTLCD\PP_TFTLCD.h:101:8: error: candidate is: void PP_TFTLCD::drawChar(uint16_t, uint16_t, char, uint16_t, uint8_t)

void drawChar(uint16_t x, uint16_t y, char c, uint16_t color, uint8_t s = 1);

^

exit status 1
Błąd kompilacji dla płytki Arduino/Genuino Uno.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:11 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 lip 2013
Posty: 208
Lokalizacja: Kielce
Pomógł: 15

A dlaczego kolega zmieniając nagłówki funkcji w pliku PP_TFTLCD.cpp nie zrobił tego samego ich deklaracjami w pliku PP_TFTLCD.h ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2017, o 08:39 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

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


C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:27: error: 'cursor_y' has not been declared

void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:37: error: 'c' has not been declared

void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:40: error: 'textcolor' has not been declared

void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:51: error: 'textbgcolor' has not been declared

void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

C:\Users\Endu\Arduino\libraries\PP_TFTLCD/PP_TFTLCD.h:101:64: error: 'textsize' has not been declared

void drawChar(cursor_x, cursor_y, c, textcolor, textbgcolor, textsize);

^

exit status 1
Błąd kompilacji dla płytki Arduino/Genuino Uno.

Chyba zmieniłem ale dalej wywala błędy... dziękuje za cierpliwość bo tak jak wspomniałem na języku C się nie znam a co dopiero na pisaniu bibliotek do wyświetlaczy !!!



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 18 sty 2017, o 10:58 
Offline
Użytkownik

Dołączył(a): 29 cze 2013
Posty: 209
Lokalizacja: Tarnowskie Góry
Pomógł: 0

Dobra wiadomość udało mi się znaleźć poprawna bibliotekę dla mojego wyświetlacza ze sterownikiem ILI9331 lub ID 505
https://forum.arduino.cc/index.php?action=dlattach;topic=366304.0;attach=165912"><img%20src="https://forum.arduino.cc/Themes/default/images/icons/clip.png"%20class="centericon"%20alt="*">&nbsp;Mcufriend_kbv_2.90.zip



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

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