Skocz do zawartości

Biblioteka "UTFTGLUE.h" jak wyświetlić liczby po przecinku


marek48maly

Pomocna odpowiedź

A wcześniej, zanim zacząłeś tej biblioteki używać, czy zadałeś sobie trud choćby pobieżnego przejrzenia jej dokumentacji czy tylko wklejasz sobie kawałki cudzych kodów? Bo jeśli przejrzałeś, to na pewno dotarłeś do listy dostępnych funkcji i zauważyłeś różnicę między printNumI() a printNumF(), prawda? A jeśli nie, to zrób to teraz i nie marnuj naszego czasu (dla leniwych: strona 7):

http://www.rinkydinkelectronics.com/resource/UTFT/UTFT.pdf

Acha, i postaraj się dowiedzieć co znaczy "type casting" w C, bo skoro funkcja oczekuje argumentu typu int a Ty wysyłasz jej (zapewne) float to takie zjawisko właśnie zachodzi. Dobrze jest mieć pojęcie co się we własnym programie dzieje.

Link do komentarza
Share on other sites

Drogi początkujący, zobacz, tu masz dwie linijki kodu z nagłówka UTFTGLUE.h:

	void printNumI(long num, int x, int y, int length=0, char filler=' ') {
	 char buf[16]; ltoa(num, buf, 10); 
	 settextcursor(buf, x, y); MCUFRIEND_kbv::print(buf);}

void printNumF(double num, byte dec, int x, int y, char divider='.', int length=0, char filler=' ') {
	 settextcursor((char*)"", x, y); MCUFRIEND_kbv::print(num, dec);}

Ja tam widzę obie funkcje i tak jak zapowiada dokumentacja jedna oczekuje liczby typu long (a więc całkowitego) a druga double (czyli zmiennoprzecinkowego). Potrzebują różnej liczby argumentów i znaczą one co innego, ale to chyba sam widzisz. I co to znaczy "nie działa"? Nie kompiluje się, nie daje żadnych wyników, wypisuje głupoty, program zwisa? Czy mógłbyś pokazać fragment swojego programu w którym wołasz printNumF() i to "nie działa"?

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Zrobiłem przykładowy kod: ale i tak się nie kompiluje

#include

#include

UTFTGLUE myGLCD(0x0154, A2, A1, A3, A4, A0);

#include

double i = 23.34;

uint8_t YP = A1;

uint8_t XM = A2;

uint8_t YM = 7;

uint8_t XP = 6;

uint8_t SwapXY = 0;

uint16_t TS_LEFT = 920;

uint16_t TS_RT = 150;

uint16_t TS_TOP = 940;

uint16_t TS_BOT = 120;

TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);

TSPoint tp;

#define MINPRESSURE 20

#define MAXPRESSURE 1000

void setup() {

TS_LEFT = 920; TS_RT = 150; TS_TOP = 940; TS_BOT = 120;

SwapXY = 0;

ts = TouchScreen(XP, YP, XM, YM, 300);

randomSeed(analogRead(5));

pinMode(A0, OUTPUT);

digitalWrite(A0, HIGH);

myGLCD.InitLCD();

myGLCD.clrScr();

myGLCD.fillScr(0, 0 , 0);// tło Czarne

}

void loop() {

myGLCD.setTextSize(3);

myGLCD.setBackColor(0, 0, 0);

myGLCD.setColor(255, 255, 255);

myGLCD.printNumF(i, 12, 48);

}

[ Dodano: 20-01-2017, 13:00 ]

Znalazłem rozwiązanie mojego problemu zamykam temat

__________

Komentarz dodany przez: Treker

Kody programów należy umieszczać przez narzędzie KOD (znajdziesz je w edytorze pod ikonką "<>"). Dzięki niemu składania programów jest automatycznie kolorowana, a wtedy wszystkim znacznie łatwiej analizować wklejone programy. Proszę to poprawić - z góry dziękuję za zrozumienie i pomoc przy utrzymaniu porządku na forum.

Link do komentarza
Share on other sites

A "nie kompiluje" to u Ciebie znaczy "nie działa"? Bo wiesz, jeśli nie umiesz napisać poprawnego w danym języku programu to wcale nie oznacza, że użyte biblioteki mają błędy. Zdradzisz znam tajemnicę komunikatów kompilatora czy mamy sami się domyślić co Ci tam wypisał?

Z resztą, skoro nawet nie pochyliłeś się żeby zajrzeć do dokumentacji, to dlaczego miałbyś czytać komunikaty kompilatora. A wiem, że nie zajrzałeś do wskazanego dokumentu bo od razu byś zauważył, że printNumF() potrzebuje min. 4 argumentów. Napisałem Ci nawet "Potrzebują różnej liczby argumentów", ale pewnie przydługi był post albo jakoś tak.. To, że jesteś początkującym nie zwalnia Cię od dociekliwości, czytania i zrozumienia.

Na koniec zostawiam Ci przyjemność odkrycia co owe 4 argumenty oznaczają.

EDIT: Brawo, więcej skupienia i będziesz sobie radził. A zamknąć tematu to chyba nie możesz 😐

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.