彭 偉
(武漢城市職業(yè)學(xué)院,湖北 武漢 430064)
物聯(lián)網(wǎng)嵌入式系統(tǒng)節(jié)點(diǎn)微控制器,通常直接提取使用未經(jīng)壓縮的字符像素?cái)?shù)據(jù)用于驅(qū)動(dòng)顯示,導(dǎo)致嵌入式系統(tǒng)資源被大量占用,而U8G2圖形驅(qū)動(dòng)庫(kù)則非常好地解決了這一問題。本文將提取U8G2的像素?cái)?shù)據(jù)并剖析研究行程編碼壓縮算法;在Proteus環(huán)境下設(shè)計(jì)Arduino+OLED電路[1-4]進(jìn)行顯示仿真測(cè)試,為物聯(lián)網(wǎng)嵌入式系統(tǒng)類似設(shè)計(jì)提供重要參考。
U8G2是單色LCD、OLED及eInk顯示驅(qū)動(dòng)庫(kù),以頁(yè)面緩沖模式下的顯示程序?yàn)槔?,針?duì)OLED有語句U8G2_SSD1306_128X64_NONAME_1_4W_SW_SPI u8g2(U8G2_R0,/*clock=*/13,/*data=*/11,/*cs=*/10,/*dc=*/9,/*reset=*/8),可構(gòu)造面向 OLED(SSD1306)的 U8G2對(duì)象,同時(shí)完成SPI接口引腳配置。U8G2顯示字符通過enableUTF8Print()使其能支持Unicode編碼,通過setFont設(shè)置字體,通過drawStr輸出字符串。C程序中的字體像素?cái)?shù)據(jù)須符合u8g2fontformat要求,其最前面一段為編碼個(gè)數(shù)及比特位0和1的行程編碼寬度等,其后是各字符編碼、壓縮編碼長(zhǎng)度及行程編碼字節(jié)等。
BDF是Adobe字形位圖格式,使用ASCII編碼,以字體全局信息開始,其后是各字形位圖數(shù)據(jù)。以u(píng)nifont.bdf字庫(kù)文件為例,其開頭部分全局信息如下:
STARTFONT 2.1 /*字體文件版本*/
FONT XXX /*表示字體名*/
SIZE 16 75 75 /*字符大小及在XY方向分辨率
FONTBOUNDINGBOX 16 16 0 -2 /*X方向?qū)挾扰cY方向高度及XY方向偏移*/
STARTPROPERTIES 24 /*24為所列屬性個(gè)數(shù)*/
/*這里是大量公共屬性,具體內(nèi)容此略*/
ENDPROPERTIES /*全局屬性結(jié)束*/
CHARS 57086 /*字庫(kù)文件字符總個(gè)數(shù)*/
以下是各字符具體結(jié)構(gòu)信息,以"1"為例:
STARTCHAR U+0031 /*"1"的編碼*/
BBX 8 16 0 -2 /*字符邊框8*16,偏移0/-2*/
/*限于篇幅,這里略去了其他屬性項(xiàng)*/
BITMAP /*字符位圖點(diǎn)陣編碼起始標(biāo)識(shí)*/
/*以字符"1"的位圖像素為例,每1字節(jié)占一行,表示8像素,為縮減篇幅以下將16字節(jié)列于一行*/
00 00 00 00 08 18 28 08 08 08 08 08 08 3E 00 00
ENDCHAR /*字符結(jié)束標(biāo)志*/
/*限于篇幅,這里略去大量其他字符像素?cái)?shù)據(jù)*/
ENDFONT /*字體文件結(jié)束標(biāo)志*/
將指定字符集各字符像素?cái)?shù)據(jù)從BDF文件提取到C文件,可使用U8G2提供的bdfconv.exe,它根據(jù)指定映射文件(如myFONT.map)給出的待提取字符集編碼從BDF字庫(kù)文件提取字符像素?cái)?shù)據(jù)并進(jìn)行RLE壓縮[5];然后以字符串形式存入C文件。假定myFONT.map內(nèi)有:$0031、$0032、$0041、$0042、$554a、$4e2d、$56fd,它們分別是字符“12AB 啊中國(guó)”的Unicode編碼,BDF字庫(kù)文件為unifont.bdf,轉(zhuǎn)換命令行及輸出示例如下:
bdfconv.exe -v ../bdf/unifont.bdf -b 0 -f 1 -M ../build/ myFONT.map-n MyU8g2fonts -o MyU8g2fonts.c
const uint8_t MyU8g2fonts[173] U8G2_FONT_SECTION("MyU8g2fonts") =
"7 主站蜘蛛池模板: 日韩免费毛片| 丁香五月激情图片| 九九热免费在线视频| 欧美精品一区二区三区中文字幕| 26uuu国产精品视频| 亚洲首页在线观看| 久久久久久午夜精品| 青青久视频| 成人av手机在线观看| 国产情侣一区二区三区| 欧美日韩中文国产| 99热这里只有精品国产99| 一级毛片基地| 成年午夜精品久久精品| 久久永久免费人妻精品| 欧美一区二区自偷自拍视频| 熟妇丰满人妻| 亚洲成综合人影院在院播放| 狠狠做深爱婷婷久久一区| 久久精品波多野结衣| 99999久久久久久亚洲| 久久狠狠色噜噜狠狠狠狠97视色| 99视频在线观看免费| 欧美第一页在线| 国精品91人妻无码一区二区三区| 久久天天躁狠狠躁夜夜躁| 国产本道久久一区二区三区| 日本道综合一本久久久88| 久久黄色视频影| 免费视频在线2021入口| 在线欧美a| 欧美97欧美综合色伦图| 凹凸国产熟女精品视频| 国产一二视频| 制服丝袜一区| 亚洲第一区在线| 亚洲国产成熟视频在线多多| 国产一区二区三区在线观看免费| 在线视频一区二区三区不卡| 五月综合色婷婷| 欧美黄色网站在线看| 欧美成人午夜视频| 久久综合九色综合97婷婷| 国产91透明丝袜美腿在线| 国模在线视频一区二区三区| 伊人激情久久综合中文字幕| 国产成人av大片在线播放| 亚洲综合在线最大成人| 国产微拍精品| 日韩黄色在线| 99在线国产| 91精品国产一区自在线拍| 久草性视频| AV无码一区二区三区四区| www.狠狠| 亚洲一区二区日韩欧美gif| 九九热免费在线视频| 国产精品人成在线播放| 亚洲人成成无码网WWW| 国产尹人香蕉综合在线电影 | 一本无码在线观看| 欧美日本在线观看| 九九香蕉视频| 婷婷激情亚洲| 99精品高清在线播放| 专干老肥熟女视频网站| 国产农村妇女精品一二区| 亚洲精品成人福利在线电影| 新SSS无码手机在线观看| 欧美不卡视频一区发布| 日本亚洲国产一区二区三区| 亚洲精品国产日韩无码AV永久免费网| 欧美一级大片在线观看| 午夜视频免费一区二区在线看| 亚洲成a∧人片在线观看无码| 在线网站18禁| 久久99国产综合精品1| 国产成人精品一区二区秒拍1o| 喷潮白浆直流在线播放| 丁香五月激情图片| 真实国产乱子伦高清| 亚洲综合色吧|