飘流Q 发表于 2012-3-11 18:13:14

关于2440中写文字,求程序

   本人原来曾研究过TFT彩屏,那时使用430控的,可是现在2440自身有触控屏的模块,所以配置起来就不一样了,关于LCD_BUFFER = c ; 这个对于要往屏幕中加文字,到底该怎么该呀?
void Lcd_ShowChar(U32 x,U32 y,U32 For_color,U32 Bk_color, char ch)
{      
   unsigned char temp1;
   unsigned char pos,t;
   unsigned charCHAR_W,CHAR_H;
   
   CHAR_W = 8;         //8*16
   CHAR_H = 16;

   if( x > (SCR_XSIZE_TFT) || y > (SCR_YSIZE_TFT) )
   return;
   
   //LCD_SetRamAddr(x, x+CHAR_W-1, y,y+CHAR_H-1);
   ch = ch-32;                     //按照ASCII编码顺序的到相应字母的编码

   for(pos = 0; pos < CHAR_H; pos++)
   {
      temp1 = Font8x16;
      
      for(t = 0; t < CHAR_W;t++)
      {               
          if(temp1&0x80)
          LCD_BUFFER = For_color ;      //textcolor   LCD_BUFFER = c ;
          else
          LCD_BUFFER = Bk_color ;       //backcolor
      temp1 <<=1;
      }
          
   }
}
这样不行,在屏上只有小点。。。。。。求给位学长们,给点参考和建议。。。。。

TQ-ZQL 发表于 2012-5-25 18:03:13

你可以参考下我们的代码。显示是中文是
void Lcd_printf(unsigned int x,unsigned int y,unsigned int c,unsigned int bk_c,unsigned int st,char *fmt,...)
函数。

laor 发表于 2012-10-21 20:55:18

TQ-ZQL 发表于 2012-5-25 18:03 static/image/common/back.gif
你可以参考下我们的代码。显示是中文是
void Lcd_printf(unsigned int x,unsigned int y,unsigned int c,u ...


Lcd_PutHZ()函数里的下面这句代码怎么理解:pZK = &__CHS[ (( (QW >> 8) - 1 )*120 + (QW & 0x00FF)- 1 )*32 ];
还有Lcd_printf()函数中调用函数Lcd_PutHZ( x , y , (*pStr - 0xA0)*0x0100 + *(pStr+1) - 0xA0 , c , bk_c , st); 第三个参数是如何得来的呢
先谢了
页: [1]
查看完整版本: 关于2440中写文字,求程序