【M4开发板Hanker试用狂】ddllxxrr之三:显示汉字
[复制链接]
Ti的图形库里边没有汉字的直接支持。这就要我们自己建一个汉字库,我想也可以不建而用现有的16点阵库。放到外部存贮器或SD卡之中。用时调出。
如果开发的产品只用几个汉字,我想自己建库比较合算。
下边的演示程序就是用取模软件对汉字取模。然后外加个汉字读取程序。读取字模并显示出来。
void hz_display_24X24(unsigned long xStart, unsigned long yStart, unsigned char *pt)
{
unsigned long i ;
unsigned char buf[HZ24X24_BYTES]; //声明个缓冲池,就是一个字符的缓冲池。
for (i = 0; i < 8; i++)
{
hz16_test_get(buf,24,i); //往缓冲池中存数据
lcd_display_word(xStart + i * 24, yStart,HZ24X24_WIDE,HZ24X24_HIGH, buf, sizeof(buf)); //利用图形库函数显示出来。
}
}
而hz16_test_get(buf,24,i); //往缓冲池中存数据。的原型如下:
void hz16_test_get(unsigned char *pt, unsigned long pixle, unsigned char index)
{
unsigned long i;
unsigned char *pSrc;
unsigned long nbytes;
if (pixle == 16)
{
nbytes = 32;
switch (index)
{
case 0:
pSrc = hz16_0;
break;
case 1:
pSrc = hz16_1;
break;
case 2:
pSrc = hz16_2;
break;
case 3:
pSrc = hz16_3;
break;
}
}
if (pixle == 24)
{
nbytes = 72; //ddllxxrr应为72
switch (index)
{
case 0:
pSrc = hz24_0;
break;
case 1:
pSrc = hz24_1;
break;
case 2:
pSrc = hz24_2;
break;
case 3:
pSrc = hz24_3;
break;
case 4:
pSrc = hz24_4;
break;
case 5:
pSrc = hz24_5;
break;
case 6:
pSrc = hz24_6;
break;
case 7:
pSrc = hz24_7;
break;
}
}
for (i = 0;i < nbytes; i++)
{
*pt++ = *pSrc++;
}
}
说白了,就是顺序一个一个地显示。
取模软件不错的,一并上传:
点阵取模软件.rar
(703.07 KB, 下载次数: 36)
程序打包:
hz.rar
(577.69 KB, 下载次数: 70)
|