如下是我改的LCD_ShowChar的函数
void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)
{
u8 temp,t1,t;
u16 y0=y;
u8 csize=(size/8+((size%8)?1:0))*(size/2); (不太懂这一句的啥意思 希望大牛耐心看看然后给我讲讲)
//num=num-' ';(我自己创的数组开始没有空格 数组在下面贴着。)
for(t=0;t<csize;t++)
{
if(size==12)temp=asc2_1206[num][t];
else if(size==16)temp=asc2_1608[num][t];
//else if(size==24)temp=asc2_2412[num][t]; (我自己在这创了一个数组 如下 所有把这行注释掉了。)
else if(size==24)temp=ASC2_1206[num][t];
else return;
for(t1=0;t1<8;t1++)
{
if(temp&0x80)LCD_Fast_DrawPoint(x,y,POINT_COLOR);
else if(mode==0)LCD_Fast_DrawPoint(x,y,BACK_COLOR);
temp<<=1;
y++;
if(y>=lcddev.height)return;
if((y-y0)==size)
{
y=y0;
x++;
if(x>=lcddev.width)return;
break;
}
}
}
}
const unsigned char ASC2_1206[1][24]={
{0x08,0x40,0x48,0x40,0x48,0x90,0xFF,0xF0,0x89,0x00,0x08,0x20,0xFF,0x40,0x08,0xC0,0x09,0x20,0x4A,0x10,0x28,0x70,0x00,0x00},
}; 用取模软件取的是12 12 大小的
main里面 LCD_ShowString(30,70,12,12,24,"我");
请大神帮我看看 我的程序编译没错 下载到板子上之后就乱码了。
当时玩12864的时候汉字显示也没弄好 谢谢各位了 麻烦给我详细的解释一下。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
{0x08,0x40,0x48,0x40,0x48,0x90,0xFF,0xF0,0x89,0x00,0x08,0x20,0xFF,0x40,0x08,0xC0,0x09,0x20,0x4A,0x10,0x28,0x70,0x00,0x00},
}; 用取模软件取的是12 12 大小的”这个数组里面指定义了24个元素,你可以先把 for(t=0;t<csize;t++)这里面的csize改成数字24试试。
一周热门 更多>