Halle Freunde !
Vieleicht habe ich mich wieder selbst verrant, aber ich komme einfach nicht weiter.
Ich möchte Messwerte(Intergerwerte) auf einen Kontrolldisplay(Test mit 16x2) ausgeben. Aber das umwandlen der Integerwerte in einen String, den ich auf das LCD schreiben kann klappt nicht.
Vielleicht fasse ich die Sache auch komplett falsch an. zu Testzwecken habe ich den Integer einfach mal mit einem Wert 250 belegt. Hier mein Code:
Lcd_Write_String(Buffer) ist was immer bekrittelt wird vom Compiler : mein_lcd_16_2.c:71: warning: (357) illegal conversion of integer to pointerCode:/**********************************************************************/ // // Microchip MPLABX XC8 Compiler // /*********************************************************************/ typedef unsigned char uChr; /* ================================================================== */ /* */ /* LCD-Write uChar */ /* */ /* ================================================================== */ void Lcd_Write_Char(uChr a) { RS=1; // => RS = 1 PDAT=a ; // => Datenport = a EN = 1; // => E = 1 __delay_ms(1); EN = 0; // => E = 0 __delay_ms(1); } /* ================================================================== */ /* */ /* LCD-Write String */ /* */ /* ================================================================== */ void Lcd_Write_String(uChr *a) { while(*a) // bis Stringende( = 0) { Lcd_Write_Char( *a ); a++; } } /**********************************************************************/ void main(void) { Lcd_Init(); char Buffer[10]; int i = 250; // Vorgegebener Wert zum Test itoa( i, Buffer, 10 ); Lcd_Write_String(Buffer); while(1); // im Testmodus hier Halt } /**********************************************************************/
Nun verstehe ich nicht das es auf einen Integer bezogen ist, wo doch Buffer ein Chararray bzw String ist.
Weiss wer bitte Rat ???
Ich habe mich da festgefahren
Gruss und Dank
Gerhard
Lesezeichen