请大家帮忙指点一下12864电子钟反白问题!
12864电子钟要反白2012的12怎么办?起始位置只能从2012的0开始吗?如图://字符反白显示
//输入参数:CX=要反白字符的行(0-3)
//CY=要反白字符的列(0-7)
//width=要反白字符的长度(1-16)
//如:c1vertChar(0, 2, 6);
void c1vertChar (uchar CX, CY, width)
{
displayPhoto(0,1);
lcdPosY = 0x80;
if (CX == 0)
{
CX = 0x80;
halfLineCnt = 16;
}
else if (CX == 1)
{
CX = 0x80;
halfLineCnt = 32;
}
else if (CX == 2)
{
CX = 0x88;
halfLineCnt = 16;
}
else if (CX == 3)
{
CX = 0x88;
halfLineCnt = 32;
}
lcdPosX = CX + CY;
for (; halfLineCnt != 0; halfLineCnt--)
{
basicBlock = width;
wrPositi1();
for (;basicBlock != 0; basicBlock--)
{
if (halfLineCnt > 16)
{
lcm_w_test(1,0x00);
}
else
{
lcm_w_test (1,0xff);
}
}
lcdPosY++;
}
lcm_w_test(0,0x36);//设置绘图功能
lcm_w_test(0,0x30);//功能设定(基本指令)
} ST7920的硬伤。
如果想要任意位置反白,只能完全用图形模式自己做。那样的话,需要自己取字模。
ST7920硬件字库的优势就荡然无存了,还不如用KS0108的方便。 本帖最后由 CPLA 于 2012-12-21 21:15 编辑
mcu_lover 发表于 2012-12-21 20:57 static/image/common/back.gif
ST7920的硬伤。
如果想要任意位置反白,只能完全用图形模式自己做。那样的话,需要自己取字模。
ST7920硬件 ...
//字符反白显示
//输入参数:CX=要反白字符的行(0-3)
//CY=要反白字符的列(0-7)
//width=要反白字符的长度(1-16)
//如:c1vertChar(0, 2, 6);
void c1vertChar (uchar CX, CY, width)
反白的字符长度可以设置为1—16,CY的起始位置只能为1-8吗?如果也可以设置为1-16就可以解决问题,不知道可以不? 反白你可以在那个位置画一个方块 全部写1填充就行 连续画就能出现类似光标的感觉 jlhgold 发表于 2012-12-22 12:59 static/image/common/back.gif
反白你可以在那个位置画一个方块 全部写1填充就行 连续画就能出现类似光标的感觉 ...
不会呀,有例程吗?
页:
[1]