找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1875|回复: 5
收起左侧

单片机OLED12864中英混显 如果字符有每区xxFD的汉字出错

[复制链接]
ID:866576 发表于 2024-8-8 11:11 | 显示全部楼层 |阅读模式
12864中英混显,但是如果字符有每区xxFD的汉字时,比如“昌,除"就会出错,高手帮看看哪里出问题了

单片机源程序如下:
//混显

void OLED_ShowText(u8 x,u8 y,char* str,u8 size1,u8 mode)
{
        char tempstr[2] = {'\0'};
  while(*str != '\0')
        {
     if(*str & 0x80)
    {
                        tempstr[0] = *str++;
                        tempstr[1] = *str++;
      OLED_ShowChinese(x,y,tempstr,size1,mode);  
                        x+=16;if(x>=127){y+=size1/8;x=0;}            
    }
    else
   {
     OLED_ShowChar(x,y,*str++,size1,mode);
                     x+=8;if(x>=127){y+=size1/8;x=0;}         
   }      
  }
}


//显示汉字
void OLED_ShowChinese(u8 x,u8 y,u8* str,u8 sizey,u8 mode)
{
        u16 index = 0;
        u16 i,size1=(sizey/8+((sizey%8)?1:0))*sizey;
        for(index =0;index <sizeof(Hzk)/34;index++)
        {
                if(Hzk[index].name[0]==str[0] && Hzk[index].name[1]==str[1])//对比汉字区码位码
                {
                 for(i=0;i<size1;i++)
            {
                    if(i%sizey==0) OLED_Set_Pos(x,y++);
                    if(mode==1)
                   {
                    if(sizey==16)
                                        OLED_WR_Byte(Hzk[index].dat[ i],OLED_DATA);//16x16字号
        
                   }
                   else
                   {
                         if(sizey==16)
                                        OLED_WR_Byte(~Hzk[index].dat[ i],OLED_DATA);//16x16字号
        
                   }
                  }
          }                        
        }               
}
回复

使用道具 举报

ID:161164 发表于 2024-8-8 15:48 | 显示全部楼层
2024-08-08_154813.png
回复

使用道具 举报

ID:866576 发表于 2024-8-8 17:46 | 显示全部楼层
回复

使用道具 举报

ID:866576 发表于 2024-8-8 17:48 | 显示全部楼层
谢了
回复

使用道具 举报

ID:1034262 发表于 2024-8-9 11:01 | 显示全部楼层
0xfd补丁,用过KEIL的都应该知道。
回复

使用道具 举报

ID:16255 发表于 2024-8-23 14:20 | 显示全部楼层
我的Keil是打了FD补丁的,目前使用没什么问题。
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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