Hi! Mein Problem (siehe Bild) wie kann ich das am besten lösen ??? cya The_Ride Peter
Hallo, ich hatte mir mal für das Problem diese Funktion gebastelt. void Byte2CharArray(uint8_t number, char* str) { str[0] = number/100 + 48; str[1] = number/10%10 + 48; str[2] = number%10 + 48; } Die dürftest du leicht auf uint16_t erweitern können. Viele Grüße, Arne
Hast du eine printf bzw. sprintf Bibliothek? Das würde das ganze sehr einfach machen: char str[16] = ""; sprintf(str, "ADC: %d", adc_wert); Und dann den str auf das LCD schreiben, wie auch immer du das machst.
Jede Stelle berechnen und gut ist:
1 | void AdcValOut (uint16_t AdcValue) |
2 | {
|
3 | uint8_t AdcValArray [5]; |
4 | uint8_t m = 4; |
5 | |
6 | do { |
7 | AdcValArray [m] = '0' + AdcValue %10; // Berechnung der einzelnen Stellen sowie |
8 | AdcValue /= 10; // Wandlung nach ASCII und abspeichern im |
9 | } while (m--); // Array |
10 | putChar ('\r'); |
11 | while (m != 3) { // Anzahl der auszugebenden Stellen = 4 |
12 | putChar (AdcValArray [++m]); // Integer Wert ausgeben |
13 | if (m == 0) putChar ('.'); // Dezimalpunkt setzen |
14 | }
|
15 | }
|
putChar dann nur noch gegen deine Displayausgabe ersetzen.
Hi! Danke für eure Antworten werd ich mal ausprobieren cya The_Ride Peter
> Mein Problem (siehe Bild) wie kann ich das am besten lösen ???
Die "Fraßspuren" rechts oben... Das LCD ist defekt und eine DIY-Lösung
ist IMHO nicht möglich.
Hi! Also die Fraßpuren stören mich weniger als das andere Problem. cya The_Ride Peter
Dachte das wäre mit den anderen Antworten längst gelöst. z.B. in main.c statt T6963cPutStringXY_P(0, 0, PSTR("Hi!"));
1 | {
|
2 | char Buffer[20]; |
3 | int i = 25; |
4 | |
5 | itoa( i, Buffer, 10 ); // http://www.mikrocontroller.net/articles/FAQ |
6 | T6963cPutStringXY(0, 0, Buffer); // ohne _P ! |
7 | }
|
Zu Beginn von main.c muss dann noch ein #include <stdlib.h> stehen
Was es mit dem _P auf sich hat, kannst du im AVR-GCC Tuturial unter den Stichworten PSTR und PROGMEM nachlesen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.