Char zu Übertragungsfunktion

T

Tiwana6330

Guest
Hallo allerseits Ich habe endlich meinen LCD Arbeits-und jetzt kann ich alles auf den LCD zu schreiben. Für nächsten Schritt versuche ich, den Wert der ADC0 zu LCD ich eine Lage, die ADC zum Laufen zu bringen und überprüft haben, indem sie die Ausgabe auf LEDs auf Port B. Die LCD ist auf PORT D (Daten) und Port A angeschlossen setzen (Control 1-3) Nun Problem ist, dass ich nicht in der Lage, ADC-Wert auf LCD tranfer. Ich glaube, ich habe einige Probleme in Char zu Übertragungsfunktion. Der Code kompiliert fein, so kann ich nicht debuggen. Mein MAIN-Code ist
unsigned char val0; while (1) {val0 = ReadAdcChannel (0); lcd_goto (0); / / select ersten Zeile lcd_puts (val0); PORTB = val0;}
LCD Puts Funktion unter
void lcd_puts (const char * s) {LCD_RS = 1; / / write Zeichen while (* s) lcd_write (* s + +);}
Was mache ich falsch. Pl helfen. Dank
 
hallo konvertieren char to ascii, weil LCD-Displays nur ascii.in ein char Ihnen 3 ascii-Nummern erhalten. zeigt dann das gleiche auf lcd ml
 
Wenn Sie eine Ganzzahl oder eine Gleitkommazahl-Format auf eine Anzeige senden müssen, können Sie die sprintf-Funktion, die in stdio.h definiert ist. Beispiel:
Code:
 # include void display_value (void) {unsigned int-Wert = 22; char buffer [16]; / * Größe der Linie auf dem Display * / sprintf (buffer, "Wert ist% d", value); / * Gleiche Formatierungsoptionen wie printf * / display_line (buffer); / * Ihr Aufruf an Funktions-Display * /}
 
hallo konvertieren char to ascii, weil LCD-Displays nur ascii.in ein char Ihnen 3 ascii-Nummern erhalten. zeigt dann das gleiche auf lcd ml
Vielen Dank für Ihre Antwort, wenn ich
lcd_puts ("Das ist ein Text ");
Ich bekomme
Dieser Text
auf dem LCD. Daher mit diesem Code, brauche ich nicht zu ASCII Konvertierung. Es ist eine Frage der Umwandlung und Übertragung von Wert lcd_puts Funktion
 
Wenn man sich den Charakter Karte Ihrer Anzeige betrachten, werden Sie feststellen, dass 'T' als 8-Bit-Zahl 0x54 vertreten ist. Dies ist der ASCII-Code für 'T'. Der ASCII-Code für die Zahl 0 ist 0x30 und für 1 ist 0x31. Also, wenn Sie eine Ziffer zu nehmen und fügen 0x30 zu bekommen Sie den ASCII-Code für die Ziffer. a = 0x30 + 1; lcd_puts (a); zeigt 1. Sie benötigen eine ADC Messwert, um ASCII-Codes umwandeln, um es auf dem LCD-Display. sprintf bedeutet das für Sie mit Formatierungsoptionen.
 
Wenn man sich den Charakter Karte Ihrer Anzeige suchen, werden Sie feststellen, dass 'T' als 8-Bit-Zahl 0x54 vertreten ist. Dies ist der ASCII-Code für 'T'. Der ASCII-Code für die Zahl 0 ist 0x30 und für 1 ist 0x31. Also, wenn Sie eine Ziffer zu nehmen und fügen 0x30 zu bekommen Sie den ASCII-Code für die Ziffer. a = 0x30 + 1; lcd_puts (a); zeigt 1. Sie benötigen eine ADC Messwert, um ASCII-Codes umwandeln, um es auf dem LCD-Display. sprintf bedeutet das für Sie mit Formatierungsoptionen.
Vielen Dank. Ich fand die Antwort sehr nützlich Also lassen Sie mich den Code neu schreiben
unsigned char val0; char buffer [16]; while (1) {val0 = ReadAdcChannel (0); lcd_goto (0); / / select ersten Zeile sprintf (buffer "Der Wert ist% c", val0); lcd_puts (buffer); PORTB = val0;}
Dieser Code ist ok? Grundsätzlich bin ich unsicher, ob sprintf wird auch auf unsigned char arbeiten. Noch einmal vielen Dank für eure Hilfe
 
Vergessen Sie nicht, # include Schau printf für die Formatierungsoptionen, sprintf hat die gleiche.
 
Vergessen Sie nicht, # include Schau printf für die Formatierungsoptionen, sprintf hat die gleiche
Ja ich meinen Code in MPLAB zusammengestellt und es kompiliert fein.. Ich brauche den Code auf Micro-Controller-Test und dann wird es wissen. Dank
 
Es hängt davon ab, welchen Compiler Sie verwenden. Aber sie sollten alle unterstützen die grundlegenden Optionen. d, Print i ein int als vorzeichenbehaftete Dezimalzahl. u Print decimal unsigned int. f, F Print Doppel in normal (Festkomma-) Notation. x, X Print unsigned int als Hexadezimalzahl. 'X' verwendet Kleinbuchstaben und 'X' verwendet Großbuchstaben. o Drucken eines unsigned int in oktal. s Drucken Sie eine Zeichenfolge. c Drucken Sie eine char (Zeichen). Sie fragen es zu einem char drucken? % C Ask es zu einem unsigned int zu drucken. % U
 

Welcome to EDABoard.com

Sponsor

Back
Top