头痛中求大神帮忙解决。
//main.c
void Main(void)
{
static unsigned char strbuf[256] = "万泰电子";
Set_Clk();
MMU_Init();
init_lcd();
get_time();
clear_lcd(0xffffff);
dis_char(10,10,0x0,strbuf);
dis_char(10,60,0x0,systime);
while(1)
{
//dis_char(10,60,0x0,systime);
}}
//LCD_800X480
void dis_char(int x,int y,int color, unsigned char str[])
{
int i;
unsigned char *moudle;
for(i = 0; i < strlen(str);) //这里的strlen编译错误。。。用sizeof可以但结果不对
{
if(str[i]&0x80)
{
moudle = &szHZK16[((str[i]-161)*94+(str[i+1]-161))*32];
draw_16x16(x+8*i,y,color,moudle);
i+=2;
}
else
{
moudle = &szASC16[str[i]*16];
draw_8x16(x+8*i,y,color,moudle);
i++;
}}}
Error : C3028E: <argument 1 to 'strlen'>: implicit cast of pointer to non-equal pointer
我在其他环境中这样用没事啊
F:\LCD屏显示控制\lcd_800X480.c: 0 warnings, 1 error, 0 serious errors