Abend,
folgendes Problem:
ich möchte einer Funktion einen String direkt übergeben, ohne diesen
vorher deklariert zu haben.
also so:
1 | WriteStringXLCD("test"); //so geht's nicht
|
die Funktion:
1 | void WriteStringXLCD(char *buffer){
|
2 | char i;
|
3 | for(i=0; buffer[i]>0; i++){
|
4 |
|
5 | while(BusyXLCD());
|
6 | WriteDataXLCD(buffer[i]);
|
7 | }
|
8 | return;
|
9 | }
|
leider funktioniert das mit meiner Funktion nicht.
Der Zeiger auf "buffer" zeigt irgendwo ausserhalb des Speichers hin.
Wenn man den String vorher allerdings deklariert und initialisiert, dann
funktioniert der Funktionsaufruf:
1 | char testString []="test"; //so funktionierts
|
2 | WriteStringXLCD(testString);
|
Hat einer Idee, wie ichs die Funktion verändern muss, dass es geht, oder
ob das überhaupt mit dem C18 Compiler geht?
(C18 Compiler, PIC18F2620)
Grüße,
Hans