打印

lcd 彩屏显示汉字问题

[复制链接]
2683|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jackbao|  楼主 | 2008-2-25 10:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要程序

字库定义
typedef struct typFont16    // 汉字字模数据结构 
{
    signed char Index[2];  //汉字 
    uc16 Msk[16];          //字模 
} typFont16; 
/*测试文本方式*/ 
const struct typFont16 Font16lib[]={ 

"测",   0x4002,0x27C2,0x2442,0x8452,        //0 
        0x4552,0x5552,0x1552,0x2552, 
        0x2552,0x2552,0xC552,0x4102, 
        0x4282,0x4242,0x444A,0x4804, 

"试",   0x0020,0x4028,0x2024,0x3024,        //1 
        0x27FE,0x0020,0xE020,0x27E0, 
        0x2120,0x2110,0x2110,0x210A, 
        0x29CA,0x3606,0x2002,0x0000, 
                 
"文",   0x0200,0x0100,0x0104,0xFFFE,        //2 
        0x1010,0x0810,0x0820,0x0420, 
        0x0440,0x0280,0x0100,0x0280, 
        0x0460,0x0810,0x300E,0xC004, 


};

查询函数
void hz_write(u8 ox,u16 oy,uc8 *p) 

 unsigned char i; 
  //unsigned int addr; 
  while(*p) 
 {  
     i=0; 
   while(1) 
  { 
      if((*p==Font16lib.Index[0]) && (*(p+1)==Font16lib.Index[1])) 
     { //找到汉字,显示         
                LCD_DrawChar(ox, oy, Font16lib.Msk);这个函数没问题
        oy-=16;         //下一个显示 
         p+=2; 
         //找下一个汉字 
        break; 
     } 
     //i++; //下一个汉字库 
     if(i >= 3) //超出字库范围 
   { 
       p+=2;         //找下一个汉字 
      break; 
   } 
  } 
}  


 hz_write(0,319,"测试文");调用
查询函数显示


问题:
  查询函数中
if((*p==Font16lib.Index[0]) && (*(p+1)==Font16lib.Index[1])) 
为什么永远不成立
  请高手指导
    
沙发
jackbao|  楼主 | 2008-2-25 10:15 | 只看该作者

是不是有哪个函数 或者 语句 不行呀

请大家指导

使用特权

评论回复
板凳
dld2| | 2008-2-25 10:30 | 只看该作者

怀疑是

signed char Index[2];  
有、无符号的问题。

使用特权

评论回复
地板
jackbao|  楼主 | 2008-2-25 10:34 | 只看该作者

那怎么改呢

使用特权

评论回复
5
MicroMMU| | 2008-2-25 10:40 | 只看该作者

会不会存在0XFD问题

使用特权

评论回复
6
jackbao|  楼主 | 2008-2-25 11:02 | 只看该作者

OXFD是什么问题

希望大家能详细 解答一下

使用特权

评论回复
7
jackbao|  楼主 | 2008-2-25 11:22 | 只看该作者

果然如3楼所说

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

92

主题

260

帖子

0

粉丝