Gast
#1085560
Hallo
Seit längerem programmiere ich nun in C, habe aber noch nie mit Pointern
gearbeitet. Ich bin nun bei einem Problem angelangt, bei welchem Pointer
notwendig sind. Ich habe nach Pointern gegoogelt, jedoch nicht zu einer
funktionierenden Lösung gekommen.
Nun zu meinem Problem:
Ich übergebe einer Funktion 3 Werte und einen String.
Diese Funktion schreibt einige Konstanten am Anfang (ab pos 1) eines
Arrays mit festgelegter grösse. Dannach werden die drei übergeben
Variabeln, und den übergebenen string (ohne das letze Zeichen) in das
Array geschrieben. An letzer gebrauchter Stelle wird 0x00 in deas Array
geschrieben. An Erster Stelle (pos 0) steht die letzte benuzte Stelle
des Arrays.
Nun zu meinem Programm welches noch einige Fehler hat:
int8 lcd_data[65];
void lcd_printf(int8 x,int8 y,int8 p,int8 *string[])
{
int8 copy=6;
lcd_data[1]=0x1B;
lcd_data[2]='Z';
lcd_data[3]=p;
lcd_data[4]=x;
lcd_data[5]=y;
for(;*string!='';string++)
{
lcd_data[copy]=*string;
copy++;
}
lcd_data[copy]=0;
lcd_data[0]=copy;
lcd_send();
}
void main(void)
{
lcd_printf(15,13,'C',*"hallo");
while(1);
}
Nun ein Zahlen Beispiel was nach diesem Aufruf im Array stehen sollte,
was aber nicht der fall ist:
lcd_data={11,0x1B,'Z','C',15,13,'h','a','l','l','o',0}
Danke für Ihre Hilfe