Warnmeldung AVR Studio

#3920635
Lesenswert?

Hallo,

ich bekomme bei meinen Code eine Warnmeldung:
"../main.c:441:2: warning: pointer targets in passing argument 1 of 
'putString' differ in signedness"

"../uart.h:37:6: note: expected 'unsigned char *' but argument is of 
type 'char *'"

bei:
1
void putString(unsigned char buffer[])  
2
{
3
  int i;
4
  for (i=0 ; buffer[i] !=0 ; i++)
5
    putChar(buffer[i]);
6
}
7

8
putString("Sende...");

Wenn ich den Funktionsaufruf so ändere:
1
unsigned char x[6] = {"Sende..."};
2
putString(x);

dann meckert er nicht mehr. Ich verstehe das also so, dass er bei den 
Funktionsaufruf ein unsigned char erwartet, aber etwas anderes bekommt.
Ok, aber wie kann ich den Funktionsaufruf schreiben ohne dafür eine 
Varailbe anzulegen ???

Gruss
Gast #3920640
Lesenswert?

Peter F. schrieb:
> Ich verstehe das also so, dass er bei den
> Funktionsaufruf ein unsigned char erwartet, aber etwas anderes bekommt.
> Ok, aber wie kann ich den Funktionsaufruf schreiben ohne dafür eine
> Varailbe anzulegen ???

weil ein text nun mal kein unsigned char ist.
1
void putString(char buffer[])
Gast #3920668
Lesenswert?

Peter F. schrieb:
> Ich muss aber unsigned char nehmen. Im Normalfall übertrage ich damit
> Werte  aus der ASCII-Tabelle die 0x00 - 0xFF haben können. Oder hab ich
> da einen Denkfehler ?

warum nennst du dann die Funktionen SendString?

Ein String ist char*

Dann leg doch noch eine 2.Funktion an,
1
SendData( uint8_t* data, uint8_t len ) { ...};

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren