请大家帮忙指点一下12864电子钟反白问题!

2020-02-01 16:28发布

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);//功能设定(基本指令)
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
mcu_lover
1楼-- · 2020-02-01 20:24
 精彩回答 2  元偷偷看……
CPLA
2楼-- · 2020-02-01 23:50
本帖最后由 CPLA 于 2012-12-21 21:15 编辑
mcu_lover 发表于 2012-12-21 20:57
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就可以解决问题,不知道可以不?
jlhgold
3楼-- · 2020-02-02 05:16
反白你可以在那个位置画一个方块 全部写1填充就行 连续画就能出现类似光标的感觉
CPLA
4楼-- · 2020-02-02 06:13
jlhgold 发表于 2012-12-22 12:59
反白你可以在那个位置画一个方块 全部写1填充就行 连续画就能出现类似光标的感觉 ...

不会呀,有例程吗?

一周热门 更多>