高中生
最后登录1970-1-1
在线时间 小时
注册时间2016-8-27
|
/**
* @brief 在 ILI9341 显示器上显示中文字符串
* @param usX :在特定扫描方向下字符串的起始X坐标
* @param usY :在特定扫描方向下字符串的起始Y坐标
* @param pStr :要显示的英文字符串的首地址
* @param usColor_Background :选择字符串的背景色
* @param usColor_Background :选择字符串的前景色
* @retval 无
*/
void ILI9341_DispString_CH ( uint16_t usX, uint16_t usY, const uint8_t * pStr, uint16_t usColor_Background, uint16_t usColor_Foreground )
{
uint16_t usCh;
while( * pStr != '\0' )
{
if ( ( usX - macILI9341_DispWindow_X_Star + macWIDTH_CH_CHAR ) > macILI9341_DispWindow_COLUMN )
{
usX = macILI9341_DispWindow_X_Star;
usY += macHEIGHT_CH_CHAR;
}
if ( ( usY - macILI9341_DispWindow_Y_Star + macHEIGHT_CH_CHAR ) > macILI9341_DispWindow_PAGE )
{
usX = macILI9341_DispWindow_X_Star;
usY = macILI9341_DispWindow_Y_Star;
}
usCh = * ( uint16_t * ) pStr;
usCh = ( usCh << 8 ) + ( usCh >> 8 );
ILI9341_DispChar_CH ( usX, usY, usCh, usColor_Background, usColor_Foreground );
usX += macWIDTH_CH_CHAR;
pStr += 2; //一个汉字两个字节
}
}
先贴上代码,不懂的已经标注红色了。
usCh 这个国标码是怎么得来的?????
pStr指向的内容是中文,原本是中文的;怎么一下子就得出中文的国标码了
我理解的是:
汉字的机内码>区位码>字模
|
|