Forum: Mikrocontroller und Digitale Elektronik Denkfehler bei Array to String


von Fabio S. (codehamster)


Lesenswert?

Hallo zusammen, um einen Text auf ein LCD anzuzeigen habe ich folgende 
Funktion geschrieben:
1
void lcd_txt_direct(int08* str)
2
{
3
    int08 index;
4
5
    strcpy(lcd_str_buffer, str);
6
    lcd_clr_mask(&lcd_image_buffer1[0], LCD_ALL);
7
    lcd_clr_mask(&lcd_image_buffer2[0], LCD_ALL);
8
    for(index = 0; index < 7; index++){
9
        lcd_set_13seg(lcd_str_buffer[index], index);
10
    }
11
    for(index = 0; index < 16; index++){
12
        LCDMEM[index + 1] = lcd_image_buffer1[index];
13
    }
14
}

Soweit noch alles i.O.

anstelle von:
1
if(mmi_selected_box == 11){
2
lcd_txt_direct("NR -11- ");
3
}else if(mmi_selected_box == 12){
4
lcd_txt_direct("NR -12- ");
5
}else if(mmi_selected_box == 13)
6
...
7
...

wollte ich folgendes implementieren:
1
int08 buffer[9];
2
buffer[0]= 'N';
3
buffer[1]= 'R';
4
buffer[2]= ' ';
5
buffer[3]= '-';
6
buffer[4]= '0' + (mmi_selected_box / 10);
7
buffer[5]= '0' + (mmi_selected_box % 10);
8
buffer[6]= '-';
9
buffer[7]= ' ';
10
buffer[8]= 0;
11
lcd_txt_direct(&buffer);

nun meldet der Compiler

`pointer to array 9 of char' expected `pointer to unsigned char'

und ich sehe den Fehler einfach nicht...
bitte um einen Hinweis =)

MFG Fabio

von Andreas B. (Gast)


Lesenswert?

Entweder
1
lcd_txt_direct(&buffer[0]);
oder
1
lcd_txt_direct(buffer);

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Fabio S. schrieb:
> lcd_txt_direct(&buffer);
Schreib mal so:
lcd_txt_direct(buffer);

Als Tipp: Das Array liegt irgendwo im Speicher und buffer ist ein 
Pointer auf den Arrayanfang...

von Fabio S. (codehamster)


Lesenswert?

vielen Dank!

wünsche ein schönes Wochenende!
ich lösch mal die Lichter

MFG Fabio

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.