LCD显示字符问题

2019-10-16 03:19发布

/**
* @brief  在 ILI9341 显示器上显示一个英文字符
* @param  usX :在特定扫描方向下字符的起始X坐标
* @param  usY :在特定扫描方向下该点的起始Y坐标
* @param  cChar :要显示的英文字符
* @param  usColor_Background :选择英文字符的背景 {MOD}
* @param  usColor_Background :选择英文字符的前景 {MOD}
* @retval 无
*/
void ILI9341_DispChar_EN ( uint16_t usX, uint16_t usY, const char cChar, uint16_t usColor_Background, uint16_t usColor_Foreground )
{
        uint8_t ucTemp, ucRelativePositon, ucPage, ucColumn;

       
        ucRelativePositon = cChar - ' ';
       
        ILI9341_OpenWindow ( usX, usY, macWIDTH_EN_CHAR, macHEIGHT_EN_CHAR );
       
        ILI9341_Write_Cmd ( macCMD_SetPixel );       
       
        for ( ucPage = 0; ucPage < macHEIGHT_EN_CHAR; ucPage ++ )
        {
                ucTemp = ucAscii_1608 [ ucRelativePositon ] [ ucPage ];
               
                for ( ucColumn = 0; ucColumn < macWIDTH_EN_CHAR; ucColumn ++ )
                {
                        if ( ucTemp & 0x01 )
                                ILI9341_Write_Data ( usColor_Foreground );
                       
                        else
                                ILI9341_Write_Data ( usColor_Background );                                                               
                       
                        ucTemp >>= 1;               
                       
                }/* 写完一行 */
               
        }/* 全部写完 */
       
}



________________________________________________

有语句不理解的我已经标注为红 {MOD}了,特别是这一句

ucRelativePositon = cChar - ' ';


nChar 是英文字符
nChar - ‘ ’ 是什么意思????


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
chen5903710
2019-10-16 17:02
#ifndef __FONT_H
#define __FONT_H           


/*
* 常用ASCII表,偏移量32,大小:16(高度)* 8 (宽度)
*/
const unsigned char ucAscii_1608 [ 95 ] [ 16 ] = {       //@Fixedsys,阴码点阵格式,逐行逆向取摸
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00},/*"!",1*/
{0x00,0x00,0x00,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/

额~~第一个确实是空格  有点思路了 自己在看看

一周热门 更多>