📄 displaydrv.c
字号:
/*-- 文字: > --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00,
/*-- 文字: ? --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x66,0x66,0x0C,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,
/*-- 文字: @ --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0xC3,0xC3,0xCF,0xDB,0xDB,0xCF,0xC0,0x7F,0x00,0x00,0x00,0x00,
/*-- 文字: A --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x3C,0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: B --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00,
/*-- 文字: C --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x66,0x66,0x60,0x60,0x60,0x66,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: D --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x78,0x6C,0x66,0x66,0x66,0x66,0x66,0x6C,0x78,0x00,0x00,0x00,0x00,
/*-- 文字: E --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x60,0x60,0x60,0x7E,0x00,0x00,0x00,0x00,
/*-- 文字: F --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x60,0x60,0x60,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,
/*-- 文字: G --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x66,0x66,0x60,0x60,0x6E,0x66,0x66,0x3E,0x00,0x00,0x00,0x00,
/*-- 文字: H --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: I --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: J --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: K --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x66,0x66,0x6C,0x6C,0x78,0x6C,0x6C,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: L --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x7E,0x00,0x00,0x00,0x00,
/*-- 文字: M --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x63,0x63,0x77,0x6B,0x6B,0x6B,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
/*-- 文字: N --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x63,0x63,0x73,0x7B,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00,0x00,
/*-- 文字: O --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: P --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,
/*-- 文字: Q --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x0C,0x06,0x00,0x00,
/*-- 文字: R --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x7C,0x6C,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: S --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x66,0x60,0x30,0x18,0x0C,0x06,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: T --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
/*-- 文字: U --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: V --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00,
/*-- 文字: W --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x6B,0x36,0x36,0x36,0x00,0x00,0x00,0x00,
/*-- 文字: X --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x66,0x66,0x34,0x18,0x18,0x2C,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: Y --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,
/*-- 文字: Z --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x06,0x06,0x0C,0x18,0x30,0x60,0x60,0x7E,0x00,0x00,0x00,0x00,
/*-- 文字: [ --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,
/*-- 文字: \ --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x60,0x60,0x30,0x30,0x18,0x18,0x0C,0x0C,0x06,0x06,0x00,0x00,0x00,
/*-- 文字: ] --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,
/*-- 文字: ^ --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x18,0x3C,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: _ --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,
/*-- 文字: ` --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x38,0x18,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- 文字: a --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3C,0x06,0x06,0x3E,0x66,0x66,0x3E,0x00,0x00,0x00,0x00,
/*-- 文字: b --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x00,0x00,0x00,0x00,
/*-- 文字: c --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x60,0x60,0x60,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: d --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x06,0x06,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,0x00,0x00,
/*-- 文字: e --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x7E,0x60,0x60,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: f --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x1E,0x30,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,
/*-- 文字: g --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x7C,0x00,
/*-- 文字: h --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x60,0x60,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: i --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x18,0x18,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00,
/*-- 文字: j --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x0C,0x0C,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x78,0x00,
/*-- 文字: k --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x60,0x60,0x66,0x66,0x6C,0x78,0x6C,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: l --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00,0x00,
/*-- 文字: m --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x7E,0x6B,0x6B,0x6B,0x6B,0x6B,0x63,0x00,0x00,0x00,0x00,
/*-- 文字: n --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: o --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3C,0x66,0x66,0x66,0x66,0x66,0x3C,0x00,0x00,0x00,0x00,
/*-- 文字: p --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x66,0x7C,0x60,0x60,0x60,0x00,
/*-- 文字: q --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3E,0x66,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x06,0x00,
/*-- 文字: r --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x66,0x6E,0x70,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x00,
/*-- 文字: s --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x3E,0x60,0x60,0x3C,0x06,0x06,0x7C,0x00,0x00,0x00,0x00,
/*-- 文字: t --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x30,0x30,0x7E,0x30,0x30,0x30,0x30,0x30,0x1E,0x00,0x00,0x00,0x00,
/*-- 文字: u --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3E,0x00,0x00,0x00,0x00,
/*-- 文字: v --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00,0x00,0x00,0x00,
/*-- 文字: w --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x63,0x6B,0x6B,0x6B,0x6B,0x36,0x36,0x00,0x00,0x00,0x00,
/*-- 文字: x --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x3C,0x18,0x3C,0x66,0x66,0x00,0x00,0x00,0x00,
/*-- 文字: y --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3C,0x0C,0x18,0xF0,0x00,
/*-- 文字: z --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x00,0x00,0x7E,0x06,0x0C,0x18,0x30,0x60,0x7E,0x00,0x00,0x00,0x00,
/*-- 文字: { --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x0C,0x18,0x18,0x18,0x30,0x60,0x30,0x18,0x18,0x18,0x0C,0x00,0x00,
/*-- 文字: | --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,
/*-- 文字: } --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x30,0x18,0x18,0x18,0x0C,0x06,0x0C,0x18,0x18,0x18,0x30,0x00,0x00,
/*-- 文字: ~ --*/
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x71,0xDB,0x8E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x00,0x00,0x00,0x00,
/*-- Fixedsys12; 此字体下对应的点阵为:宽x高=8x16 --*/
0x00,0x00,0x00,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x00,0x00,0x00,0x00,
};
/*------------------------------------------------------------------------*/
/*
Name: DisplayDrvGetDrv
Desc: -获取系统显示属性信息之指针
Params: -
Returns: - 显示属性信息之指针
Caveats: -
*/
DisplayDef* DisplayDrvGetDrv( void )
{
static DisplayDef gDisDrv = { &LogicScreen, PIXELSCREEN_W, PIXELSCREEN_H };
return &gDisDrv;
}
/*------------------------------------------------------------------------*/
/*
Name: DisplayDrvGetFont
Desc: -获取系统字体指针
Params: -
Returns: - &gFont
Caveats: -
*/
OSFFont* DisplayDrvGetFont( void )
{
static OSFFont gFont = { FONT_W, FONT_H };
return &gFont;
}
/*------------------------------------------------------------------------*/
/*
Name: DisplayDrvDrawOneASCII
Desc: -向逻辑屏画一个ASCII字符
Params: -Pos:坐标; c:ASCII码;fontColor:字体颜色;font:字体属性;disDrv:逻辑屏属性
Returns: -
Caveats: -
*/
void DisplayDrvDrawOneASCII( OSFPos* pPos, char c, UINT16 fontColor , OSFFont* pFont ,const DisplayDef * disDrv )
{
UINT16 *lpAC = ( UINT16* )( disDrv->pLogicScreen )+ pPos->y * disDrv->LogicScreenWidth + pPos->x;
UINT16 i, j;
UINT8 BIT_MASK;
UINT8 *pSource = ( UINT8 * )&ASCII_MODE[ 0 ] + (( unsigned char )c ) * ASCII_MODE_SIZE;
for( j = 0; j < ASCII_MODE_SIZE ; j++ )
{
BIT_MASK = 0x80;
for( i = 0 ; i < ASCII_FONT_W ; i++ ) /*一行的左半部分*/
{
if( ( *pSource ) & BIT_MASK )
{
*lpAC = fontColor;
}
lpAC++;
BIT_MASK >>= 1;
}
pSource++;
lpAC = lpAC - ASCII_FONT_W + disDrv->LogicScreenWidth; /*指向一下*/
}
UNUSED( pFont );
}
/*------------------------------------------------------------------------*/
/*
Name: DisplayDrvCheckPos
Desc: -校验坐标
Params: -pPos[ int/out]:坐标,w[ in ]:增加的宽度; h[in] : 增加的高度, disDrv[ in ] : 逻辑屏属性
Returns: -
Caveats: -
*/
void DisplayDrvCheckPos( OSFPos *pPos , UINT16 w, UINT16 h, const DisplayDef * disDrv )
{
if( ( pPos->x + w ) > disDrv->LogicScreenWidth ) /* check X */
{
pPos->x = 0;
pPos->y += h ;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -