Forum: Mikrocontroller und Digitale Elektronik Arrray ausgeben über USART


von Tobias (Gast)


Lesenswert?

Hallo,

ich versuche verzweifelt ein array an eine funktion zu übergeben. Bzw. 
die Adresse als Pointer. Dann möchte ich in der Funktion die Werte über 
USART ausegeben.

CCSC ist der Compiler (daher auch das printf).

Leider kommen immer falsche werte an.
ich bekomme z.B.
0x2F
und
0x27

aber nicht
0x07
und
0x01.

Wo liegt mein Denkfehler?
1
void print_array(int ROM *array, int length);
2
3
int ROM buff[128];
4
5
void main() {
6
  
7
  buff[0] = 0x07;
8
  buff[1] = 0x01;
9
10
  while(TRUE) {
11
    print_array(buff,2);
12
    delay_ms(2000);
13
  }
14
}
15
16
void print_array(int ROM *array, int length) {
17
  int zhl;
18
  for(zhl=0;zhl<length;zhl++) {
19
    printf("/%c",array[0]);
20
  }
21
}

Danke für Eure Hilfe!

von holger (Gast)


Lesenswert?

>    printf("/%c",array[0]);

%c steht glaube ich für char.
Versuch mal %i, %d, %u.

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.