找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1324|回复: 5
打印 上一主题 下一主题
收起左侧

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

[复制链接]
跳转到指定楼层
楼主
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字号
        
                   }
                  }
          }                        
        }               
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:161164 发表于 2024-8-8 15:48 | 只看该作者

回复

使用道具 举报

板凳
ID:866576 发表于 2024-8-8 17:46 | 只看该作者
回复

使用道具 举报

地板
ID:866576 发表于 2024-8-8 17:48 | 只看该作者
谢了
回复

使用道具 举报

5#
ID:1034262 发表于 2024-8-9 11:01 | 只看该作者
0xfd补丁,用过KEIL的都应该知道。
回复

使用道具 举报

6#
ID:16255 发表于 2024-8-23 14:20 | 只看该作者
我的Keil是打了FD补丁的,目前使用没什么问题。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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