Forum: Mikrocontroller und Digitale Elektronik stm32 keil Variablen Ausgabe


von karl heinz (Gast)


Lesenswert?

Hallo,
Ich habe ein kleines Problem mit Variablen Ausgabe aufs Display

Es kommt beim Aufruf von LCD_puts(150,170,speed,WHITE,RED);
der Fehler:

error:  #167: argument of type "u8" is incompatible with parameter of 
type "u8 *"


Vielleicht könnt mir einer helfen.
mfg
1
typedef unsigned char  u8;
2
u8 speed = 155;
3
4
//Aufruf
5
LCD_puts(150,170,speed,WHITE,RED); 
6
7
8
//Funktion
9
void LCD_puts(u16 Xpos, u16 Ypos, u8 *s,u16 Color, u16 bkColor)
10
{ 
11
 do
12
  {
13
    
14
    ili9320_PutChar(Xpos,Ypos,*s++,Color,bkColor);    
15
    if(Xpos > 792) 
16
    {
17
      Xpos+=8;
18
    } 
19
    else if (Ypos<464)//304)
20
    {
21
      Xpos=0;
22
      Ypos+=16;
23
    }   
24
    else
25
    {
26
      Xpos=0;
27
      Ypos=0;
28
    }    
29
  }
30
  while (*s!=0);
31
}

von holger (Gast)


Lesenswert?

>error:  #167: argument of type "u8" is incompatible with parameter of
>type "u8 *"

speed ist kein String sondern eine Zahl.
Mach aus speed einen String und übergib den.

von karl heinz (Gast)


Lesenswert?

Hiermit bekomme ich den gleichen Fehler wie zuvor




[C]
u8 speed = 155;
u8 speedchan[400];
u8 u8 speedchan[speed];

//Aufruf
LCD_puts(150,170,speedchan[speed],WHITE,RED);


[7C]

von Davis (Gast)


Lesenswert?

>> error:  #167: argument of type "u8" is incompatible with parameter of
>> type "u8 *"

> speed ist kein String sondern eine Zahl.
> Mach aus speed einen String und übergib den.

u8 speed = 155;  --> u8 *speed ="155";

von karl heinz (Gast)


Lesenswert?

So jetz Gehts.
Aber ich bekomm bei sprintf( speedshowBuffer, "%3d  ", speedchan[speed] 
);
folgende Warnung:

warning:  #167-D: argument of type "u8 *" is incompatible with parameter 
of type "char *restrict"
1
u8 speed = 155;
2
u8 speedchan[400];
3
u8 speedchan[speed];
4
u8 speedshowBuffer[50];
5
6
  sprintf( speedshowBuffer, "%3d  ", speedchan[speed] );
7
//Aufruf
8
LCD_puts(150,170,speedshowBuffer,WHITE,RED);

von Marco L. (lehmi)


Lesenswert?

karl heinz schrieb:

> warning:  #167-D: argument of type "u8 *" is incompatible with parameter
> of type "char *restrict"

Dem Compiler gefällt

> u8 speedshowBuffer[50];

nicht,also einfach char speedshowBuffer[50], dann sollte er Ruhe geben.

von Matthias (Gast)


Lesenswert?

Marco L. schrieb:
> nicht,also einfach char speedshowBuffer[50], dann sollte er Ruhe geben.

Nicht speedshowBuffer[0] ?

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.