中级会员
 
- 积分
- 451
- 金钱
- 451
- 注册时间
- 2012-4-11
- 在线时间
- 1 小时
|
最近看TFTLCD的資料有幾個地方不明天請給位幫幫忙把謝謝啦!!就是不完全手冊裏面的程序。
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{
#ifdef USE_HORIZONTAL
#define MAX_CHAR_POSX 312
#define MAX_CHAR_POSY 232
#else
#define MAX_CHAR_POSX 232
#define MAX_CHAR_POSY 312
#endif
u8 temp;
u8 pos,t;
u16 x0=x;
u16 colortemp=POINT_COLOR;
if(x>MAX_CHAR_POSX||y>MAX_CHAR_POSY)return;
num=num-' ';//得到偏移后的值
if(!mode) //非加方式
{
for(pos=0;pos<size;pos++)
{
if(size==12)temp=asc2_1206[num][pos];//調用1206字体
else temp=asc2_1608[num][pos]; //調用1608字体
for(t=0;t<size/2;t++)
{
if(temp&0x01)POINT_COLOR=colortemp;
else POINT_COLOR=BACK_COLOR;
LCD_DrawPoint(x,y);
temp>>=1;
x++;
}
x=x0;
y++;
}
}else//?加方式
{
for(pos=0;pos<size;pos++)
{
if(size==12)temp=asc2_1206[num][pos];//?用1206字体
else temp=asc2_1608[num][pos]; //?用1608字体
for(t=0;t<size/2;t++)
{
if(temp&0x01)LCD_DrawPoint(x+t,y+pos);//?一??
temp>>=1;
}
}
}
  OINT_COLOR=colortemp;
}
這裡的這個 “ num=num-' ';//得到偏移后的值”是什麽意思啊 num-' '是什麽啊?
還有temp=asc2_1608[num][pos]; //調用1608字体
這個函數是被showsting調用的 按照傳遞num應該是個字母啊 怎麼用到二維數組裏面了?
假如要顯示個S吧 應該unm=S啊,哎就是不明白啊
|
|