电子大神的日记本,供应链专家的功夫茶盘,在这里记录、分享与共鸣。

登录以开始

[老王卖瓜]使用标准字模在液晶点阵任意位置显示字符(一)

        标准的字模一般都是以字节为单位存储的(每8个点存储在一个字节中)。在单色LCD点阵屏幕上显示字符,并非难事。然而,如果要在LCD的任意x,y坐标显示字符,就稍微有点麻烦了。为了解决这个问题,需要一系列的函数。前两天搞定了第一个核心函数,暂且放到这里吧。应该不会做更大的修改了。

/***********************************************************
*   函数说明:位图偏移函数                                 *
*   输入:    输入缓冲,位移,输入长度,输出缓冲           *
*   输出:    输出缓冲指针                                 *
*   调用函数:无                                           *
***********************************************************/
uint8 Character_BitMap_Offset(uint8 *pcInputBuffer,uint8 chOffset,
                uint8 pcInputLength,uint8 *pcOutputBuffer)
{
    uint8 n = 0;
    uint8 chByteOffset = chOffset >> 3;
    chOffset &= 0x07;
    if ((pcInputBuffer == NULL) || (pcOutputBuffer == NULL))
    {
        return NULL;
    }
   
    pcOutputBuffer[chByteOffset] = pcInputBuffer[0] >> chOffset;
   
    for (n = 1 + chByteOffset;n < pcInputLength+chByteOffset;n++)
    {
        pcOutputBuffer[n] = pcInputBuffer[n - chByteOffset] >> chOffset;
    }
    pcOutputBuffer[n] = (pcInputBuffer[pcInputLength-1]
                        & (BIT(chOffset)-1))<< (8 - chOffset);
   
    if (chOffset)
    {
        return pcInputLength + chByteOffset + 1;
    }
    else
    {
        return pcInputLength + chByteOffset;
    }
}

博主
傻孩子
傻孩子的赛博世界
傻孩子
点击跳转