欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
基于SC95F8616單片機(jī)的中西文混排顯示
[打印本頁(yè)]
作者:
jinglixixi
時(shí)間:
2020-7-18 08:29
標(biāo)題:
基于SC95F8616單片機(jī)的中西文混排顯示
前面介紹了區(qū)位法顯示漢字,但使用起來(lái)多少有些不便,為了便于中西文混排,這里介紹用指針來(lái)實(shí)現(xiàn)混排顯示的方法。
其顯示效果如圖
1
所示,其中首行顯示的是內(nèi)碼,次行顯示是的內(nèi)容。
1.png
(367.63 KB, 下載次數(shù): 53)
下載附件
2020-7-18 08:28 上傳
圖
1
混排顯示
混排顯示主程序?yàn)椋?/font>
void main(void)
{
no=0;
x=0;
OLED_Init();
OLED_Clear();
LcdShowString(0,0,"啊A阿",0,1);
while(1);
}
復(fù)制代碼
混排顯示函數(shù)為:
void LcdShowString(uint32_t x,uint32_t y,uint8_t *pucCode,uint32_t color,uint32_t bgcolor)
{
uint32_t x_bak=x;
uint8_t u,v,no,p;
p=x;
while(*pucCode)
{
if(*pucCode & 0x80)
{
u=*pucCode;
v=(u&0xf0)>>4;
if(v<10) OLED_ShowChar (x,y,v+'0',16);
else OLED_ShowChar (x,y,v+55,16);
x=x+8;
v=(u&0x0f);
if(v<10) OLED_ShowChar (x,y,v+'0',16);
else OLED_ShowChar (x,y,v+55,16);
x=x+8;
u=*(++pucCode);
no=u-161;
v=(u&0xf0)>>4;
if(v<10) OLED_ShowChar (x,y,v+'0',16);
else OLED_ShowChar (x,y,v+55,16);
x=x+8;
v=(u&0x0f);
if(v<10) OLED_ShowChar (x,y,v+'0',16);
else OLED_ShowChar (x,y,v+55,16);
*(++pucCode);
x+=8;
OLED_ShowCHinesey(p,y+2, no*2);
p+=16;
}
else
{
u=*pucCode;
v=(u&0xf0)>>4;
if(v<10) OLED_ShowChar (x,y,v+'0',16);
else OLED_ShowChar (x,y,v+55,16);
x+=8;
v=(u&0x0f);
if(v<10) OLED_ShowChar (x,y,v+'0',16);
else OLED_ShowChar (x,y,v+55,16);
x+=8;
OLED_ShowChar(p,y+2,u,16);
p+=8;
*(++pucCode);
}
if(x>113)
{
x = x_bak;
}
}
}
復(fù)制代碼
2.png
(378.04 KB, 下載次數(shù): 59)
下載附件
2020-7-18 08:28 上傳
圖
2
超長(zhǎng)顯示
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1