野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 33432|回复: 1

液晶字符串显示程序,sizeof的不出正确得数据

[复制链接]
发表于 2020-10-26 16:48:04 | 显示全部楼层 |阅读模式
void ILI9341_DispString_EN (uint16_t usX,uint16_t usY,char *String)
{
    uint8_t Num_of_String=0,Temp;
   
    //uint16_t *pBuff_String;
   
    Num_of_String=sizeof(String);
   
    for(Temp=0;Temp<Num_of_String;Temp++)
    {
        printf(" 0x%c ",String[Temp]);
    }
   
    for(Temp=0;Temp<Num_of_String;Temp++)
    {
        ILI9341_DispChar_EN (usX,usY,String[Temp]);
        usX+=LCD_Currentfonts->Width;
        if(usX>=ILI9341_LESS_PIXEL)
        {
            usX=0;
            usY+=LCD_Currentfonts->Height;            
        }
        if(usY>=ILI9341_MORE_PIXEL)
        {
            printf("\r\n超过屏幕显示面积\r\n");
        }        
    }
}
这是我自己写的函数,运行结果在字符串个数小于4时是OK的,大于4个字符后,sizeof得出字节个数一直是4,导致只有前面四个字符显示出来,晕!


回复

使用道具 举报

 楼主| 发表于 2020-10-26 16:55:12 | 显示全部楼层
搞错啦,函数传进来的只是String的首地址,呃  所以用sizeof不对
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-6 21:17 , Processed in 0.037613 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表