• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

我想把下面这段程序改成显示中文的

xbk_848691 2021-02-02 浏览量:382

我想把下面这段函数改成显示中文的该如何改呢,*P是什么意思呢


//显示字符串

//xy:起点坐标  
//size:字体大小 
//*p:字符串起始地址 
void OLED_ShowString(u8 xu8 yconst u8 *pu8 size)
{
    while((*p<='~')&&(*p>=' '))//判断是不是非法字符!
    {       
        if(x>(128-(size/2))){x=0;y+=size;}
        if(y>(64-size)){y=x=0;OLED_Clear();}
        OLED_ShowChar(xy*psize1);  
        x+=size/2;
        p++;

    }  


}
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 估计没有人能根据你现在的信息改成支持中文的,因为中文有很多编码可能,不同的编码处理字符串具体操作是不同的,查询对应字库的方式也不同。

    此外还需要知道字库的信息才能正确的显示,还需要知道你 OLED_ShowChar类似处理的方式。

    • 发布于 2021-02-03
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • p是指针也是地址,*p是取这个地址里面的内容
    • 发布于2021-02-02
    • 举报
    • 评论 0
    • 0
    • 0

  • void OLED_ShowString(u8 xu8 yconst u8 *pu8 size)

    你这个参数不对吧,一个逗号也没有?

    可以参考别人的例程,你需要根据x、y的值,把汉字字库的点写进去显存对应的点就OK了。

    • 发布于2021-02-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是你的字库中没有中文的原因的吧,你要先有中文的字库吧

    代码上看不出来的

    • 发布于2021-02-03
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

我想把下面这段程序改成显示中文的