移植正点原子F407开发板LCD显示程序时,LCD显示字符串函数报错 argument of type "u8" is incompatible with parameter of type "u8 *"
void LCD_Task()
{
sprintf((char*)lcd_id,"%d",Coin_Num);
if (Sys_Mode == 0)
{
LCD_Clear(WHITE);
POINT_COLOR=BLACK;
LCD_ShowString(30,40,210,24,24,"GOLD COIN");
LCD_ShowString(30,70,200,16,16,"NUM : ");
LCD_ShowString(30,110,200,16,16,lcd_id);
}
sprintf((char*)lcd_id,"%d",Big_Num);
if (Sys_Mode == 1)
{
LCD_Clear(WHITE);
POINT_COLOR=BLACK;
LCD_ShowString(30,40,210,24,24,"Bullet");
LCD_ShowString(30,70,200,16,16,"Big : ");
LCD_ShowString(30,110,200,16,16,lcd_id);
}
}
运行结果及报错内容
代码中 LCD_ShowString(30,110,200,16,16,lcd_id); 均报错为 argument of type "u8" is incompatible with parameter of type "u8 *"
下面是LCD_ShowString函数源码,丝毫未动
void LCD_ShowString(u16 x, u16 y, u16 width, u16 height, u8 size, u8 *p)
{
u8 x0 = x;
width += x;
height += y;
while ((*p <= '~') && (*p >= ' ')) //判断是不是非法字符!
{
if (x >= width)
{
x = x0;
y += size;
}
if (y >= height)break; //退出
LCD_ShowChar(x, y, *p, size, 0);
x += size / 2;
p++;
}
}