亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        中文字庫芯片GT30L32S4W在emWin圖形庫中的應(yīng)用

        2015-07-02 08:42:48
        關(guān)鍵詞:字庫源代碼高通

        趙 云

        (桂林電器科學(xué)研究院有限公司,桂林541004)

        引 言

        隨著嵌入式系統(tǒng)已滲透入社會(huì)生活的很多領(lǐng)域(如電子消費(fèi)品、醫(yī)療儀器、工業(yè)環(huán)境),無論是普通消費(fèi)者還是商業(yè)用戶,都期待更友好的UI界面體驗(yàn)。emWin圖形庫是目前廣泛應(yīng)用于嵌入式系統(tǒng)界面開發(fā)的中間件,但em-Win中不能直接使用中文,且只提供庫文件,不開放源代碼,使通過修改emWin源代碼實(shí)現(xiàn)中文支持非常困難。如何在emWin中實(shí)現(xiàn)中文界面顯示,一直是嵌入式GUI設(shè)計(jì)中關(guān)注的問題。

        常用的emWin支持中文的方法有兩種:

        ①用emWin提供的fontCvt工具生成特定的C語言格式的字庫代碼,加載在ROM空間供em Win調(diào)用,缺點(diǎn)是需要占用ROM資源。

        ②用第三方工具生成字庫文件,然后拷貝到SD卡或燒錄到Flash芯片,供em Win用文件系統(tǒng)方式調(diào)用,但用Flash需要額外燒錄,用SD卡又會(huì)拖慢顯示速度。

        本文的方案把GT30L32S4W字庫映射到emWin的字體顯示接口,使em Win支持中文顯示。這種方式可以避免額外對(duì)Flash的燒錄工作,降低使用第三方字庫的風(fēng)險(xiǎn),也不需要占用MCU的ROM空間,用emWin做界面設(shè)計(jì)時(shí),可直接調(diào)用GT30L32S4W內(nèi)全部漢字資源,方案框圖如圖1所示。

        圖1 GT30L32S4W方案框圖

        1 GT30L32S4W和STM32F103ZET6的硬件接口

        1.1 簡(jiǎn)述GT30L32S4W

        GT30L32S4W為上海高通(GOTOP)發(fā)布的字庫芯片,支持國標(biāo)字符集GB2312(6 763個(gè)漢字),支持12×12、16×16、24×24、32×32四種點(diǎn)陣字型,總線接口為SPI,封裝為SOP8。

        該芯片與STM32F103ZET6的接口電路如圖2所示,可以借鑒參考文獻(xiàn)[3]給出的SPI時(shí)序要求,直接調(diào)用STM32的庫函數(shù)實(shí)現(xiàn)GT30L32S4W的SPI讀寫函數(shù)。

        圖2 STM32F103ZET6和GT30L32S4W硬件SPI1接口電路

        1.2 GT30L32S4W連續(xù)讀出單個(gè)漢字字模

        這里給出讀取以DST為首地址的連續(xù)no_bytes個(gè)字節(jié)的實(shí)現(xiàn)方法,讀取完成后,字模保存在GUI_Font-DataBuf[]數(shù)組,供下一步處理。

        2 GT30L32S4W和emWin的軟件接口

        2.1 emWin的字庫接口

        ①結(jié)構(gòu)體GUI_p UC_API為em Win的字符編碼接口,emWin通過 GUI_UC_Set EncodeNone()函數(shù)調(diào)用了該接口,但是emWin圖形庫不開放源代碼,無法直接修改庫文件。對(duì)應(yīng)的方法是打開UCGUI v3.98開源版本中提供的GUI_UC_EncodeNone.c文件,改寫里面的_GetChar-Code()、_GetCharSize()、_CalcSizeOfChar()、_Encode()這4個(gè)函數(shù),增加GB2312編碼的處理,然后把改動(dòng)過的文件加入工程編譯,可以使GUI_p UC_API指向改動(dòng)過的函數(shù),實(shí)現(xiàn)emWin對(duì)GB2312漢字的識(shí)別。

        ②emWin的字符顯示接口為GUIPROP_DispChar(),這個(gè)函數(shù)的功能是獲取字符字模,再執(zhí)行畫位圖的函數(shù)將字符顯示出來,該函數(shù)原型在UCGUI v3.98開源版本的GUICharP.c文件中。修改的方法是參考GUIPROP_DispChar()源代碼,改寫為 GUIPROP_X_DispChar()函數(shù),在獲取字模時(shí)先區(qū)分英文和漢字,如果為漢字就調(diào)用高通字模定位算法,連續(xù)讀取一個(gè)漢字的字模,然后進(jìn)行顯示處理。

        ③加入新字體還需要修改em Win圖形庫中提供的頭文件GUI.H和GUI_TYPE.H,把新字體的顯示方法指向GUIPROP_X_DispChar()函數(shù),這部分的工作在參考文獻(xiàn)[2]中有論述,具體源代碼可以借鑒參考文獻(xiàn)[6]。注意:emWin可以視為是開源的UC/GUI v3.98之后不開源的高級(jí)版本。

        2.2 高通字庫的通用字模的定位算法

        GT30L32S4W支持12×12、16×16、24×24、32×32四種點(diǎn)陣字型,由于參考文獻(xiàn)[2]、[3]和[4]給出不同點(diǎn)陣字型的計(jì)算方式不同,使用不方便。這里歸納出一套通用的字庫IC漢字地址計(jì)算方法:

        ①BaseAdd:一套點(diǎn)陣字體在GT30L32S4W芯片中的起始地址,例如16×16點(diǎn)陣的起始地址為0x2 C9D0。

        ②MSB:一個(gè)漢字的內(nèi)部GB2312編碼為16位,MSB表示該漢字GB2312編碼的高8位。

        ③LSB:類似MSB,表示一個(gè)漢字GB2312編碼的低8位。

        ④FontByte:?jiǎn)蝹€(gè)漢字的存儲(chǔ)長度,比如一個(gè)12×12點(diǎn)陣漢字需要連續(xù)24個(gè)字節(jié),32×32點(diǎn)陣需要連續(xù)128個(gè)字節(jié)。如圖3所表示,一個(gè)24×24漢字需要3×24共72個(gè)字節(jié)的存儲(chǔ)長度,讀取字模的時(shí)候需要連續(xù)讀取72個(gè)字節(jié),保存到一個(gè)數(shù)組里,再等待下一步顯示處理。

        圖3 24×24的漢字

        ⑤Address:由MSB和LSB組成的16位GB2312漢字在字庫IC芯片中的字節(jié)地址,如圖3中漢字“高”的GB2312碼為0xB8DF,拆開 MSB就是0xB8,LSB就是0xDF。表1為GT30L32S4W的漢字地址表,可以根據(jù)該表將參數(shù)代入定位算法得到某個(gè)漢字的字模位置。

        表1 GT30L32S4W等寬漢字地址表

        結(jié) 語

        本文提供了基于字庫芯片GT30L32S4W的em Win中文顯示方案。圖4所示為em Win調(diào)用中文字庫IC的實(shí)際效果,界面包括BUTTON控件、TEXT控件和DROPDOWN控件,均顯示正常。

        圖4 emWin調(diào)用中文字庫IC的實(shí)際效果

        該方案已應(yīng)用在寶通公司的尿液分析儀上,證明了該方案對(duì)emWin有良好的兼容性。該方案使產(chǎn)品量產(chǎn)時(shí)免除了字庫燒錄和測(cè)試工序,減少了第三方字符生成軟件的風(fēng)險(xiǎn),節(jié)省了Flash芯片成本,是一種值得推廣的嵌入式系統(tǒng)中文界面支持方案。此外,高通還提供多國語言的字庫芯片,參考該方案可以對(duì)emWin顯示日文、韓文做進(jìn)一步研究。

        [1]SEGGER.emWin User&Reference Guide V5.28[EB/OL].[2015-03].www.segger.com.

        [2]李建紅,劉丹,徐展.基于UCGUI庫的外擴(kuò)中文字庫研究與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2014,40(2):271-274.

        [3]高通科技.GT30L32S4W標(biāo)準(zhǔn)漢字字庫芯片用戶手冊(cè)V1.0[EB/OL].[2015-03].www.genitop.com.

        [4]馮月芹,湯小龍.高通字庫芯片GT23H32S4W的應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013(12):45-47.

        [5]陳新,蒲慶文.基于emWin圖形庫的電動(dòng)汽車液晶儀表設(shè)計(jì)[J].儀表技術(shù)與傳感器,2013(7):105-110.

        [6]jdh99.在emWin中顯示字庫芯片GT23L24M0140的字模[EB/OL].[2015-03].http://blog.csdn.net/jdh99.

        猜你喜歡
        字庫源代碼高通
        人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
        基于TXL的源代碼插樁技術(shù)研究
        No.2 喜茶聯(lián)合漢儀字庫推出微型書和書簽
        軟件源代碼非公知性司法鑒定方法探析
        歷史轉(zhuǎn)折后的高通前執(zhí)行董事長
        某型號(hào)產(chǎn)品的字庫遷移優(yōu)化設(shè)計(jì)
        電子世界(2018年7期)2018-04-26 08:51:35
        揭秘龍湖產(chǎn)品“源代碼”
        外資力薦高通并購賽靈思對(duì)抗英特爾
        電子世界(2015年22期)2015-12-29 02:49:41
        高通24億美元收購芯片制造商CSR
        高通市場(chǎng)份額跌至47%
        无码毛片视频一区二区本码| 亚洲一区二区三区免费的视频| 最新天堂一区二区三区| 懂色av一区二区三区尤物 | 无码粉嫩虎白一线天在线观看 | 国产禁区一区二区三区| 女人脱了内裤趴开腿让男躁| 俺来也俺去啦最新在线| 亚洲h电影| 蜜臀av一区二区三区精品| 一区二区二区三区亚洲| 久久精品国产字幕高潮| 人妻av乱片av出轨| 国产精品亚洲片夜色在线| 日韩极品免费在线观看| 日韩av一区二区不卡| 蜜臀av在线播放一区二区三区| 特级做a爰片毛片免费看无码| 国产自产精品露脸刺激91在线| 亚洲综合久久1区2区3区 | 国产98在线 | 免费| 久久久久久久久久91精品日韩午夜福利| 日本一区二区高清视频| 在线视频色系中文字幕| 成年性生交大片免费看| 99精品国产99久久久久久97| 免费看一级a女人自慰免费| 日本久久精品在线播放| 日本加勒比精品一区二区视频 | 国产午夜在线观看视频| 久久夜色国产精品噜噜亚洲av| 99热在线观看| 国产伦精品一区二区三区免费| 色欲AV无码久久精品有码| 国产黄色看三级三级三级 | 亚洲一区二区三区,日本| 成年女人黄小视频| 少妇精品久久久一区二区三区| 国产精品女丝袜白丝袜| 亚洲精品综合中文字幕组合| 激情内射人妻1区2区3区|