Hallo, habe da ne kleine Frage:
Ich hab mit meinem Programm ein Problem:
Wenn ich eine Funktion in C schreibe, in der ich auf ein Array zugreife
z.B:
1 | void lcd_menu(uint8_t a, uint8_t b)
|
2 | {
|
3 | uint8_t y,x;
|
4 | char Puffer[15];
|
5 | set_cursor(0,b);
|
6 | strcpy_P(Puffer,menu[a]);
|
7 | lcd_string(Puffer);
|
8 | }
|
Habe ich das problem, damit bei der Parameterübergabe im Aufruf der
Funktion (z.b:)
void lcd_menu(2,3)
zwar meine Cursor-Position stimmt, jedoch mein Pointer (a) auf's Array
irgendwie falsch? übergeben wird.
Wenn ich die uint8_t Variable innerhalb der Funktion deklariere
1 | uint8_t c;
|
2 | c=2;
|
3 | strcpy_P(Puffer,menu[c]);
|
4 | lcd_string(Puffer);
|
wird auch der passende Zeilentext ausgegeben.
Bei menu[ ] handelt es sich um
Hat jemand einen Ratschlag? Was ich schon ausprobiert habe: die
Variablendeklaration von a mit int, uint16_t, char - alles ohne Erfolg.