野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12596|回复: 1

液晶显示64*64汉字只显示一半

[复制链接]
发表于 2016-2-4 18:33:32 | 显示全部楼层 |阅读模式
  1. void LCD_DispCH(uint16_t x, uint16_t y, const uint8_t *pstr, uint16_t color)
  2. {
  3.         uint8_t page , column;
  4.         uint8_t buffer[64*64/8];               
  5.         uint16_t tmp_char=0;
  6.        
  7.         LCD_OpenWindow(x, y, CH_WIDTH, CH_HEIGHT);
  8.         LCD_ILI9341_CMD(0X2C);
  9.        
  10.         GetGBKCode_from_sd(buffer,pstr);         /* è¡×ÖÄ£êy¾Y */
  11.        
  12.         for(page=0; page< CH_HEIGHT; page++)
  13.         {
  14.     /* è&#161;3&#246;á&#189;&#184;&#246;×&#214;&#189;úμ&#196;êy&#190;Y£&#172;&#212;úlcdé&#207;&#188;′ê&#199;ò&#187;&#184;&#246;oo×&#214;μ&#196;ò&#187;DD */
  15.                 tmp_char=buffer[page*8];
  16.                 tmp_char=(tmp_char<<8);
  17.                 tmp_char|=buffer[8*page+1];
  18.                
  19.                 for (column=0; column< CH_WIDTH; column++)
  20.                 {                       
  21.                         if ( tmp_char & (0x01<<15) )  /* &#184;&#223;&#206;&#187;&#212;ú&#199;° */
  22.                         {                               
  23.                                 LCD_WR_Data(color);
  24.                         }
  25.                         else
  26.                         {                       
  27.                                 LCD_WR_Data(BACKGROUND);
  28.                         }
  29.                         tmp_char <<= 1;
  30.                 }
  31.         }
  32. }
复制代码


  1. int GetGBKCode_from_sd(unsigned char* pBuffer,const unsigned char * c)
  2. {
  3.     unsigned char High8bit,Low8bit;
  4.     unsigned int pos;
  5.     High8bit=*c;     /* è&#161;&#184;&#223;8&#206;&#187;êy&#190;Y */
  6.     Low8bit=*(c+1);  /* è&#161;μí8&#206;&#187;êy&#190;Y */
  7.        
  8. //  printf("%d ,%d\r\n",High8bit,Low8bit);
  9. //        printf("%x ,%x\r\n",High8bit,Low8bit);
  10.        
  11.     //pos = ((High8bit-0xb0)*94+Low8bit-0xa0-1)*2*16;
  12.     pos = ((High8bit-0xa0-16)*94+Low8bit-0xa0-1)*512;
  13.        
  14.     f_mount(0, &myfs[0]);
  15.     myres = f_open(&myfsrc , "0:/font.dat", FA_OPEN_EXISTING | FA_READ);
  16.    
  17.     if ( myres == FR_OK )
  18.     {
  19.         f_lseek (&myfsrc, pos);                //&#214;&#184;&#213;&#235;&#198;&#171;ò&#198;
  20.         myres = f_read( &myfsrc, pBuffer, 512, &mybr );                 //16*16′óD&#161;μ&#196;oo×&#214; &#198;&#228;×&#214;&#196;£ &#213;&#188;ó&#195;16*2&#184;&#246;×&#214;&#189;ú
  21.         
  22.         f_close(&myfsrc);
  23.         
  24.         return 0;  
  25.     }   
  26.     else
  27.         return -1;   
  28. }
复制代码


#define CH_WIDTH                64                  /* oo×&#214;&#191;í&#182;è */
#define CH_HEIGHT                64                  /* oo×&#214;&#184;&#223;&#182;è */
回复

使用道具 举报

 楼主| 发表于 2016-2-4 18:35:08 | 显示全部楼层
C:\Users\TianZhi\Desktop
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 02:33 , Processed in 0.026566 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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