|
发表于 2009-1-12 10:09:33
|
显示全部楼层
void putCh(unsigned char ch1, unsigned char ch2)
{
unsigned char i,j;
unsigned char x;
px--;
OSSemPend(OSSEM_SPI,0,&i); //等待spi就绪
fseek(fp_hz16,((ch1-0xa1)*94L + (ch2-0xa1))*32L,0);
fread(font_buf,32,fp_hz16);
for(i=0;i<2;i++)
{
SetY(py);
SetX(px);
for(j=0;j<16;j++)
{
x=font_buf[i*16+j];
SendLcdData(x); //py++; //SendLcdData include py++
if((py&0x3f)==0) SetY(py),SetX(px);
}
px++;py-=16;
}
OSSemPost(OSSEM_SPI);
px--;py+=16;
}
int putchar(uchar *s) //printf的输出接口函数
{
HZCode=0;
while(*s!=0)
{
if(*s<0xa1) putEn(*s);
else if(HZCode)
{
putCh(HZCode,*s);
HZCode=0;
}else HZCode=*s;
s++;
}
}
void init() //先打开字库文件
{
...
OSSemPend(OSSEM_SPI,0,&err);fp_hz16=fopen("hz16.bin");OSSemPost(OSSEM_SPI); //打开字库文件
printf("汉字库载入OK");
...
} |
|