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

        ?

        基于Qt的汽車液晶儀表字符顯示系統(tǒng)設(shè)計(jì)

        2022-05-30 04:29:42郭健忠杜新寶胡文龍許小偉
        關(guān)鍵詞:資源信息設(shè)計(jì)

        郭健忠,杜新寶,謝 斌,閔 銳,胡文龍,許小偉

        (1.武漢科技大學(xué) 汽車與交通工程學(xué)院,湖北 武漢 430065;2.武漢保華顯示科技有限公司,湖北 武漢 430082)

        0 引 言

        汽車儀表的信息顯示界面,實(shí)現(xiàn)了車輛內(nèi)部信息與用戶的交流。儀表屏幕的字體信息作為重要的載體,傳遞了車輛的實(shí)時(shí)狀態(tài)信息[1-2]。隨著顯示技術(shù)的革新和計(jì)算機(jī)輔助軟件的應(yīng)用,多界面切換的設(shè)計(jì),使得儀表界面融入更多的設(shè)計(jì)元素,共同的特點(diǎn)是不同界面信息的呈現(xiàn)都包含字符元素設(shè)計(jì)[3-4]。目前字符信息顯示主要有兩種方式,一種是依靠字庫(kù)讀取點(diǎn)陣數(shù)據(jù),另一種是制作字符圖片資源植入圖形庫(kù)的方式。然而實(shí)際開發(fā)中,在液晶屏不同的布局方式下,以上兩種方式顯示字符信息時(shí),均存在適用性差、開發(fā)過程繁雜的問題[5-8]。因此,鑒于液晶儀表字符顯示系統(tǒng)出現(xiàn)的不足,有必要設(shè)計(jì)一種靈活高效的字符信息顯示方案。

        1 汽車液晶儀表字符信息顯示場(chǎng)景與方法分析

        1.1 字符信息顯示應(yīng)用場(chǎng)景

        針對(duì)汽車行業(yè)中主流的液晶儀表顯示功能進(jìn)行分析,涉及字符信息顯示的場(chǎng)景[5-7],主要分為以下四類:(1)實(shí)時(shí)行車信息,即小計(jì)里程、行駛里程、續(xù)航里程等。(2)多媒體信息,即歌曲歌詞、通話管理等。(3)故障診斷查詢信息,即故障彈窗信息提示、故障描述信息查詢等。(4)菜單設(shè)置信息,即儀表各模式下有關(guān)屬性設(shè)置。以上應(yīng)用場(chǎng)景中,字符信息顯示在儀表UI設(shè)計(jì)中是必要的設(shè)計(jì)環(huán)節(jié),一套完整的字符顯示方案可以應(yīng)用于多種場(chǎng)景的顯示。

        1.2 傳統(tǒng)字符信息顯示方法分析

        根據(jù)字符顯示設(shè)計(jì)方案的不同,大致可以分為兩類。

        一類是按照功能規(guī)范要求設(shè)計(jì)含有字符顯示信息的UI圖片資源,借助工具進(jìn)行壓縮,通過燒錄的方式燒寫到開發(fā)板的外部FLASH(存儲(chǔ)器)中。調(diào)用圖片顯示時(shí),根據(jù)燒錄時(shí)自動(dòng)生成的圖片地址信息資源文件,找到對(duì)應(yīng)圖片信息并傳入圖形控制模塊提供的顯示接口函數(shù)進(jìn)行實(shí)現(xiàn)。該方法在圖片資源較少的開發(fā)前提下,可以滿足大多數(shù)需求。但實(shí)際開發(fā)中存在以下問題:

        一是針對(duì)大量字符信息顯示需求(如故障報(bào)警描述信息),該方法適用性差,不具備批量處理生成的便捷設(shè)計(jì)功能,降低了開發(fā)效率。

        二是由于不同的圖片資源會(huì)包含相同的字符,在一定程度上耗費(fèi)存儲(chǔ)資源。同時(shí),大量的圖片未實(shí)現(xiàn)調(diào)取的一致對(duì)應(yīng)關(guān)系,造成程序設(shè)計(jì)結(jié)構(gòu)繁瑣。

        另一類是根據(jù)常用的字符編碼(ASCII、Unicode、GB2312)規(guī)則與字庫(kù)芯片數(shù)據(jù)地址關(guān)聯(lián)的設(shè)計(jì)形式,采用SPI的通訊方式調(diào)取內(nèi)部的點(diǎn)陣信息數(shù)據(jù)。只有少數(shù)字符情況下,還可能借助字模軟件取模的形式,將字體的點(diǎn)陣數(shù)據(jù)寫入程序當(dāng)中進(jìn)行調(diào)用。實(shí)際應(yīng)用當(dāng)中,發(fā)現(xiàn)點(diǎn)陣字庫(kù)具有一定程度的局限性。主要包含以下幾點(diǎn):

        一是點(diǎn)陣字庫(kù)其固定分辨率、尺寸、字符變換以及放大縮小后,會(huì)出現(xiàn)鋸齒和失真的情況,不能滿足液晶儀表清晰、美觀的設(shè)計(jì)需求,影響實(shí)際顯示效果。

        二是液晶屏的布局主要是水平橫置顯示和豎直擺放顯示兩種形式。處于豎直擺放時(shí),采用點(diǎn)陣信息顯示會(huì)發(fā)生字體對(duì)齊困難以及界面字符布局的復(fù)雜問題。

        三是點(diǎn)陣字庫(kù)的使用完全依賴于字庫(kù)芯片,缺乏一定的靈活性。由于大部分汽車液晶儀表顯示系統(tǒng)具備圖形處理控制單元,然而在字體顯示功能上可能會(huì)存在模塊支持性問題。

        根據(jù)以上兩類顯示方法的具體分析,可以看出實(shí)際開發(fā)中傳統(tǒng)顯示方法在不同的設(shè)計(jì)需求方面存在的問題。融合兩種顯示方法的特點(diǎn),借助Qt設(shè)計(jì)出一套完整的字符信息顯示設(shè)計(jì)方案。

        2 儀表字符顯示系統(tǒng)整體設(shè)計(jì)

        字符信息顯示系統(tǒng)的設(shè)計(jì)分為硬件環(huán)境搭建和軟件功能實(shí)現(xiàn)。硬件環(huán)境搭建以某商用汽車儀表為例進(jìn)行搭建;軟件設(shè)計(jì)部分以字符信息顯示的字庫(kù)設(shè)計(jì)為核心功能進(jìn)行實(shí)現(xiàn),字符顯示調(diào)用程序僅做基本實(shí)現(xiàn)。

        2.1 系統(tǒng)軟硬件平臺(tái)及開發(fā)環(huán)境

        字庫(kù)部分設(shè)計(jì)選用Qt平臺(tái)開發(fā)環(huán)境。Qt是跨平臺(tái)C++圖形用戶界面開發(fā)框架,具有豐富的API和開源框架,且可跨主流的操作系統(tǒng)[9-10]。Qt的項(xiàng)目界面以可視化設(shè)計(jì)方式呈現(xiàn),通過打開Qt Creator中集成的Qt Designer(UI設(shè)計(jì)器),利用平臺(tái)提供的功能進(jìn)行設(shè)計(jì)。主要包含組件面板,待設(shè)計(jì)窗體、屬性編輯器、對(duì)象瀏覽器。Qt強(qiáng)大的界面設(shè)計(jì)功能和控件,具備整個(gè)字庫(kù)功能實(shí)現(xiàn)所需的開發(fā)環(huán)境[11-14]。

        圖1 硬件結(jié)構(gòu)框圖

        字符顯示調(diào)用部分開發(fā)環(huán)境采用NXP公司推出的S32DS編譯軟件。主控芯片選用S32K144系列芯片,該芯片支持多種通訊方式(I2C、UART、SPI、CAN)。圖形顯示方面選用YAMAHA公司提供的YGV642圖形控制器芯片。選用信利ZSX-50001QGQ型號(hào)的5英寸TFT真彩色液晶屏,分辨率為800*480,每個(gè)像素點(diǎn)支持的色彩深度為24 bit,RGB接口支持RGB888格式通訊。選用非易失性存儲(chǔ)器型號(hào)為S25FL128SAIF00,其容量大小為16 M。系統(tǒng)硬件主體框圖設(shè)計(jì),如圖1所示。

        2.2 儀表字符信息顯示系統(tǒng)軟件框架設(shè)計(jì)

        整個(gè)系統(tǒng)的軟件架構(gòu)分為Qt平臺(tái)的字庫(kù)設(shè)計(jì)以及S32DS平臺(tái)的字符顯示調(diào)用設(shè)計(jì),如圖2所示。

        圖2 系統(tǒng)軟件設(shè)計(jì)框圖

        結(jié)合以上兩類設(shè)計(jì)方法的顯示特點(diǎn),基于Qt平臺(tái)對(duì)字符顯示所需的字庫(kù)進(jìn)行設(shè)計(jì),轉(zhuǎn)變單純調(diào)用點(diǎn)陣字庫(kù)或植入圖形庫(kù)的設(shè)計(jì)思路,提出單字符圖片化的設(shè)計(jì)方法。此外,通過把字庫(kù)放置在外部FLASH,具有較好的通用性和靈活性[15]。由Qt進(jìn)行設(shè)計(jì)的字庫(kù)生成工具,將包含字符信息的輸入文件導(dǎo)入,經(jīng)字庫(kù)工具處理后輸出字符圖片資源,供壓縮和燒寫工具使用。同時(shí),資源壓縮時(shí)形成的地址訪問資源文件(mapData.h、sequenceData.c)和字符信息資源文件可作為后續(xù)程序設(shè)計(jì)當(dāng)中的調(diào)用文件。即mapData.h主要包含每張字符圖片枚舉成員名以及每張圖片在FLASH內(nèi)部的地址信息。sequenceData.c則是記錄內(nèi)部資源起始地址的文件。

        S32DS平臺(tái)中,F(xiàn)ontDisplayApp代表字符顯示的應(yīng)用層程序,且提供調(diào)用接口。圖形顯示控制器(GDC)主要包含三個(gè)模塊,即CPU interface連接外圍主機(jī)的接口、Pattern memory interface可用于讀取外部FLASH、Pixel Data Ctr用于控制圖片數(shù)據(jù)向液晶屏傳輸。由應(yīng)用層編寫的字符顯示模塊,通過調(diào)取驅(qū)動(dòng)層提供的接口,實(shí)現(xiàn)數(shù)據(jù)的內(nèi)部處理和傳輸,最終實(shí)現(xiàn)液晶儀表界面字符信息的顯示功能。

        3 基于Qt的字符信息顯示字庫(kù)設(shè)計(jì)

        字庫(kù)各部分設(shè)計(jì)均在Qt平臺(tái)進(jìn)行,整體設(shè)計(jì)思路分為三個(gè)部分:(1)根據(jù)輸入文件內(nèi)字符信息,進(jìn)行去重和編碼,建立專用字符集索引文件。(2)依據(jù)索引文件編碼生成單個(gè)字符的圖片資源。(3)利用編碼映射關(guān)系將輸入文件的字符和字庫(kù)編碼對(duì)應(yīng),實(shí)現(xiàn)字符信息輸入文件內(nèi)容的自動(dòng)解析并生成相應(yīng)的解析資源文件。

        從降低程序設(shè)計(jì)的復(fù)雜度出發(fā),利用模塊化程序設(shè)計(jì)思想。各模塊之間結(jié)構(gòu)關(guān)系,如圖3所示。

        設(shè)計(jì)過程中,編寫去重和編碼功能模塊生成字符索引文件(.txt)。在此基礎(chǔ)上,一方面使用Qt提供的類庫(kù)編寫字符圖片化功能模塊。另一方面,編寫待顯示文件內(nèi)部字符的文件資源解析模塊。

        圖3 Qt字庫(kù)設(shè)計(jì)軟件模塊示意圖

        利用Qt Designer 設(shè)計(jì)UI界面,如圖4所示。圈1表示索引時(shí)文件導(dǎo)入?yún)^(qū),可實(shí)現(xiàn)生成并保存的功能;圈2表示打開并讀入索引文件到繪圖設(shè)備;圈3表示字符圖片化屬性設(shè)置區(qū);圈4表示資源文件生成的相關(guān)設(shè)置。通過在界面上不同控件的內(nèi)部實(shí)現(xiàn)相應(yīng)的信號(hào)和槽函數(shù)的功能。軟件功能實(shí)現(xiàn)之后,打包將整個(gè)軟件封裝成字庫(kù)設(shè)計(jì)的輔助工具。

        3.1 儀表字庫(kù)軟件部分功能實(shí)現(xiàn)

        3.1.1 字符集索引文件生成

        依據(jù)國(guó)際范圍內(nèi)不同字符編碼格式使用率的統(tǒng)計(jì)數(shù)據(jù),選用廣泛采用的UTF-8格式編碼[16],使用C語(yǔ)言編寫模塊程序。字符索引文件的設(shè)計(jì)主要包含兩個(gè)特征,一是單個(gè)字符的唯一性,二是單個(gè)字符的編碼。整個(gè)字符索引文件內(nèi)字符編碼總數(shù),取決于開發(fā)過程中所需導(dǎo)入的字符文件,其包含字符數(shù)量具有不定性。因此,考慮到鏈表的動(dòng)態(tài)內(nèi)存分配特性,選用鏈表的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)該數(shù)據(jù)類型的結(jié)構(gòu)表示,如下所示:

        typedef struct One_chara_node{

        int chara_code_id;//字符編碼id值

        uint8_t chara_info[MAX_LENGTH];//單個(gè)字符代表的UTF-8值

        struct One_chara_node* next;//指向下一節(jié)點(diǎn)指針

        }CharacterInfo_Type;//結(jié)構(gòu)體別名

        圖4 字庫(kù)生成工具UI界面

        字符索引程序設(shè)計(jì)流程,如圖5所示。通過文件流操作導(dǎo)入文件,依據(jù)UTF-8編碼規(guī)則讀取單個(gè)字符第一字節(jié)信息,獲取單個(gè)字符所占總字節(jié)數(shù),確保讀取時(shí)區(qū)分每個(gè)字符并保存完整編碼值。申請(qǐng)動(dòng)態(tài)內(nèi)存空間后,將隨后放入的字符與已經(jīng)存在于鏈表的字符對(duì)比,排除重復(fù)字符,實(shí)現(xiàn)去重和唯一編碼的特點(diǎn)。如此循環(huán)讀取,直到文件結(jié)束。將鏈表內(nèi)包含的字符輸出到文件內(nèi),得到專用字符集索引文件,便于后續(xù)進(jìn)行字符匹配操作。

        圖5 字符索引程序設(shè)計(jì)流程

        3.1.2 字符圖片化設(shè)計(jì)

        根據(jù)各模塊功能的不同,Qt的類庫(kù)也分為不同模塊。其中Qt基本模塊提供了Qt平臺(tái)的基本功能,包含設(shè)計(jì)圖片資源用到的Qt Core(核心非圖形類)和Qt GUI(圖形界面設(shè)計(jì)基礎(chǔ)類)。由于其強(qiáng)大的繪圖功能,字符圖片化的生成可以借助Qt GUI類內(nèi)提供的繪圖設(shè)備(QImage、QPainter)和字體類(QFont)進(jìn)行實(shí)現(xiàn)。

        創(chuàng)建QImage類的對(duì)象,設(shè)定圖像規(guī)格大小和格式。調(diào)用填充成員函數(shù)fill(),實(shí)現(xiàn)背景填充。添加繪圖設(shè)備QPainter對(duì)象和QFont對(duì)象,完成字體屬性設(shè)置和繪制過程。其中字體對(duì)象可實(shí)現(xiàn)樣式、字體顏色、大小、方向以及字體背景顏色的改變,設(shè)計(jì)樣式比較靈活。借助QImage類提供的旋轉(zhuǎn)功能和圖片保存功能,將字符索引文件中的單個(gè)字符按照索引序列統(tǒng)一編碼命名并批量生成字符圖片[17-18]。部分關(guān)鍵代碼如下:

        QImage pix(32,32, QImage::Format_ARGB32);

        pix.fill(Qt::black);//設(shè)置填充顏色

        QPainter painter(&pix);

        QFont font("黑體",19);//設(shè)置字體對(duì)象的字體樣式,字號(hào)大小

        painter.setRenderHint(QPainter::Antialiasing, true);//開啟抗鋸齒

        painter.setFont(font);

        painter.setPen(Qt::white);//設(shè)置字體顏色

        painter.translate(32,0);//旋轉(zhuǎn)點(diǎn)位置設(shè)置

        painter.rotate(90);//旋轉(zhuǎn)角度設(shè)置

        painter.drawText(QRect(0,0,32,32),QString("字"));//規(guī)定繪制區(qū)域和內(nèi)容

        pix.save("name.png","png");//命名并保存

        QFont對(duì)象使用了系統(tǒng)平臺(tái)中的矢量字庫(kù)(.ttf)。該字庫(kù)相比于點(diǎn)陣字庫(kù)具有很大的優(yōu)點(diǎn)。矢量字庫(kù)是字符比劃分解成直線和曲線然后存儲(chǔ)這些線的參數(shù)。顯示時(shí),通過畫出這些線條來顯示字符。因其具有不易失真、支持形式變換的優(yōu)點(diǎn),保證了儀表屏幕字符顯示的效果。

        3.1.3 字符資源文件生成

        字符資源文件主要是對(duì)輸入文件內(nèi)字符信息的解析,以便后續(xù)程序調(diào)用。字符資源文件數(shù)據(jù)結(jié)構(gòu)示意圖,如圖6所示。考慮到對(duì)每個(gè)同類型數(shù)據(jù)信息進(jìn)行存儲(chǔ)和訪問。因此,選用結(jié)構(gòu)體數(shù)組的數(shù)據(jù)結(jié)構(gòu)形式。代碼格式部分設(shè)計(jì)的結(jié)構(gòu)體內(nèi)包含了三個(gè)必要成員,分別記錄輸入文件內(nèi)行信息數(shù)量、單行信息包含的字符長(zhǎng)度以及單行信息對(duì)應(yīng)到字符索引文件內(nèi)的編碼所組成的數(shù)組。

        圖6 字符資源文件數(shù)據(jù)結(jié)構(gòu)示意圖

        程序設(shè)計(jì)過程中,需實(shí)現(xiàn)單個(gè)文件內(nèi)部多行字符信息的批處理解析。由于涉及到每行信息的字符信息數(shù)量存在不確定性,同時(shí)考慮儀表屏幕顯示最多容納的字符數(shù)。字符解析部分選用循環(huán)隊(duì)列數(shù)據(jù)結(jié)構(gòu),對(duì)單個(gè)字符返回的編碼序列依次入隊(duì),直至檢測(cè)到隊(duì)滿的為止,之后再對(duì)隊(duì)列內(nèi)的元素進(jìn)行出隊(duì)。代碼框架規(guī)定的Ch_Array[]數(shù)組與出隊(duì)的元素對(duì)應(yīng)。因此,某文件字符信息文件作為輸入,通過對(duì)每行字符信息進(jìn)行索引和循環(huán)隊(duì)列處理,最后向文件進(jìn)行數(shù)據(jù)流輸出。針對(duì)不同需求的解析,結(jié)構(gòu)體允許加入新增成員,作為其他程序訪問和參考的變量。整個(gè)字符資源文件以結(jié)構(gòu)體數(shù)組的形式呈現(xiàn),使得后續(xù)程序調(diào)用開發(fā)過程高效、方便。

        3.2 建立字符資源文件與字庫(kù)圖片資源映射關(guān)系

        字庫(kù)字符索引文件作為字符圖片資源命名和字符資源文件共同的設(shè)計(jì)規(guī)則。一方面可以確保從字符資源文件內(nèi)讀取的字符經(jīng)過遍歷,返回其所在鏈表中的編碼序列。另一方面保證圖片命名的一致性。因此,在單個(gè)字符編碼和圖片化命名上具有一致對(duì)照性。

        圖7 映射關(guān)系示意圖

        在字庫(kù)字符圖片化基礎(chǔ)上,僅需確保字符資源文件的每個(gè)字符返回索引文件內(nèi)相同字符的編碼序列。使得兩者形成一致的映射關(guān)系。以某故障信息顯示為例,要求儀表在故障報(bào)文觸發(fā)時(shí),儀表界面提示信息“節(jié)流閥(TVA)控制器產(chǎn)生永久負(fù)偏差”。根據(jù)以上已實(shí)現(xiàn)的部分,將字符序列與圖片命名對(duì)應(yīng),如圖7所示。

        4 儀表字符顯示程序設(shè)計(jì)

        利用NXP公司提供的S32DS集成開發(fā)環(huán)境,編寫字符顯示應(yīng)用程序。該部分程序設(shè)計(jì)主要分為:(1)上電后相關(guān)外設(shè)模塊初始化配置。包括MCU端向圖形控制芯片端的SPI1總線通訊協(xié)議、圖形控制芯片端向外部FLASH讀取的SPI2總線以及圖形控制芯片內(nèi)部驅(qū)動(dòng)液晶屏幕的驅(qū)動(dòng)程序[19-20],以保證系統(tǒng)通信過程中數(shù)據(jù)的傳輸。(2)借助字庫(kù)設(shè)計(jì)提供的資源文件,編寫對(duì)應(yīng)的顯示調(diào)用程序。(3)實(shí)現(xiàn)字符信息顯示的邏輯和字體界面布局調(diào)整的功能。(4)根據(jù)實(shí)測(cè)效果,進(jìn)行功能調(diào)試。

        調(diào)取字符圖片顯示的關(guān)鍵之處在于對(duì)應(yīng)的位置顯示準(zhǔn)確的字符圖片,保證字符順序不發(fā)生錯(cuò)亂,規(guī)范布局。因此,使用結(jié)構(gòu)體數(shù)據(jù)類型保存字符圖片加載時(shí)的屬性信息。結(jié)構(gòu)體設(shè)計(jì)如下:

        typedef struct {

        unsigned short Lyrid;//圖層數(shù)值設(shè)置

        unsigned short I_num;//所選圖片枚舉命名

        unsigned short x_Pos;//圖片顯示的X坐標(biāo)

        unsigned short y_Pos;// 圖片顯示的Y坐標(biāo)

        unsigned short mx;//mx=0,該圖片顯示,否則不顯示

        }PICTURE;//圖片操作結(jié)構(gòu)體

        其中,字符圖片的坐標(biāo)和枚舉命名十分關(guān)鍵。I_num成員由QT_CHARAFONT結(jié)構(gòu)體的Array[index].CH_Array[SN_xxx_png]賦值。字符數(shù)組內(nèi)的成員與底層FALSH內(nèi)部字符資源相互關(guān)聯(lián),實(shí)現(xiàn)字符編碼與地址讀取的一致性。通過定義PICTURE Obj對(duì)象,傳入編寫的液晶驅(qū)動(dòng)函數(shù)DisplayPic()接口,將完整的字符圖片顯示到屏幕上。

        5 字符信息顯示系統(tǒng)測(cè)試

        5.1 測(cè)試項(xiàng)目背景

        實(shí)際測(cè)試中,以某汽車儀表功能規(guī)范顯示故障信息為例,如“SPI=91,FMI=3,故障描述信息:油門踏板或操縱桿位置傳感器1電路-電壓高于正常值或?qū)Ω邏弘娫炊搪贰钡韧愋凸收闲畔?。其中可疑參?shù)編號(hào)SPN和故障模式標(biāo)志FMI,作為匹配對(duì)應(yīng)故障報(bào)文的參數(shù)。為了簡(jiǎn)明直觀地調(diào)用故障描述信息,該文不再對(duì)故障報(bào)文觸發(fā)機(jī)制內(nèi)容做詳細(xì)描述。采用模擬給定SPN和FMI的方式,調(diào)用對(duì)應(yīng)的故障描述信息進(jìn)行顯示。實(shí)測(cè)環(huán)境如圖8所示。

        5.2 基于Qt生成字庫(kù)與資源寫入

        汽車儀表字符字庫(kù)設(shè)計(jì)當(dāng)中,用到的字符基本由ASCII字符和中文漢字字符構(gòu)成,滿足國(guó)內(nèi)大部分車輛的字符顯示需求??紤]到漢字使用頻率和場(chǎng)景,選用UTF-8編碼格式將常用拉丁文字符和使用頻率達(dá)99.9%的一級(jí)漢字字庫(kù)3 755個(gè)字符,共同組成字符索引文件并進(jìn)行單個(gè)字符編碼。

        通過Qt字庫(kù)設(shè)計(jì)工具,字體樣式選擇Qt平臺(tái)提供的黑體,規(guī)定字符圖片大小為32*32像素。設(shè)置背景為透明圖層,保證在原有背景圖片上的不遮擋顯示效果。字符圖片格式選用png格式??紤]液晶儀表豎向放置,將圖片向左旋轉(zhuǎn)90°并統(tǒng)一根據(jù)索引編碼次序命名。使用圖形控制芯片平臺(tái)提供的壓縮工具,將所有字符圖片資源壓縮為二進(jìn)制(.bin)文件,最終大小為800 Kb以內(nèi)。通過燒錄工具,把二進(jìn)制資源文件燒寫到儀表的外部FLASH內(nèi)。

        5.3 儀表字符顯示系統(tǒng)測(cè)試驗(yàn)證

        根據(jù)顯示調(diào)用程序設(shè)計(jì)流程,編寫具體的應(yīng)用程序。模擬給定故障報(bào)文參數(shù)后,匹配結(jié)構(gòu)體數(shù)組內(nèi)相應(yīng)的故障描述信息。通過對(duì)PICTURE Obj對(duì)象賦值,規(guī)定顯示的范圍以及字體間距布局。將已賦值的對(duì)象傳遞給液晶驅(qū)動(dòng)顯示接口DisplayPic()函數(shù)。刷寫芯片程序并運(yùn)行,故障描述信息準(zhǔn)確、清晰的顯示在液晶儀表屏幕上,如圖8所示。

        圖8 實(shí)測(cè)環(huán)境與故障信息顯示效果圖

        實(shí)際測(cè)試時(shí),先后進(jìn)行了調(diào)用字庫(kù)芯片點(diǎn)陣信息進(jìn)行顯示和制作UI圖片資源貼圖的實(shí)驗(yàn)。測(cè)試結(jié)果對(duì)比如表1所示。

        第一種調(diào)用字庫(kù)的方式,在大量字符信息需要顯示時(shí),需要給出字符對(duì)應(yīng)的Unicode編碼值,必須通過工具轉(zhuǎn)換,不具備批量操作的便捷性。同時(shí),對(duì)于液晶屏豎直顯示時(shí),英文字符出現(xiàn)部分失真、大小標(biāo)準(zhǔn)不一、行間距對(duì)齊困難的問題。

        第二種制作UI圖片資源貼圖的方式,出現(xiàn)多條信息時(shí),制作字符圖片工作量巨大,而且未實(shí)現(xiàn)一致的調(diào)用關(guān)系,調(diào)用對(duì)應(yīng)圖片十分復(fù)雜。對(duì)比兩者的開發(fā)過程以及最終儀表呈現(xiàn)的字體效果,該文設(shè)計(jì)的方案具有較大優(yōu)勢(shì)。利用Qt設(shè)計(jì)的字符圖片化工具可以生成任意形式的字庫(kù)字符圖片,一定程度上避免了傳統(tǒng)字符顯示開發(fā)中帶來的復(fù)雜問題。整個(gè)系統(tǒng)具有開發(fā)時(shí)間短,設(shè)計(jì)簡(jiǎn)便,節(jié)省成本,顯示靈活的優(yōu)點(diǎn)。

        表1 字體信息顯示方案對(duì)比

        6 結(jié)束語(yǔ)

        利用Qt平臺(tái)實(shí)現(xiàn)字符圖片化的設(shè)計(jì),保證字庫(kù)設(shè)計(jì)上的靈活性。字符圖片資源與字符資源文件映射關(guān)系的設(shè)計(jì),為程序結(jié)構(gòu)化設(shè)計(jì)與規(guī)范調(diào)用字符信息數(shù)據(jù)提供了參考。經(jīng)過實(shí)測(cè),液晶儀表顯示方案在字符信息顯示過程中,實(shí)現(xiàn)了完整、靈活、高效以及清晰的顯示效果。該系統(tǒng)的設(shè)計(jì)具有以下三點(diǎn)優(yōu)勢(shì):

        (1)實(shí)現(xiàn)了字庫(kù)裁剪,建立了儀表專用字庫(kù),提升了儀表存儲(chǔ)資源上的空間利用率。增強(qiáng)了儀表顯示方向和字符信息界面布局的靈活性,使得顯示效果更加清晰、完整。

        (2)開發(fā)了字庫(kù)工具,可批量處理字符信息顯示文件,使得字符顯示開發(fā)操作便捷、效率得以提高,具有良好的適用性。

        (3)針對(duì)不同芯片開發(fā)平臺(tái),避免了調(diào)整字庫(kù)芯片驅(qū)動(dòng)以及可能出現(xiàn)的不良顯示效果,擴(kuò)展了一部分支持圖形控制模塊在字體顯示方面的功能。

        猜你喜歡
        資源信息設(shè)計(jì)
        基礎(chǔ)教育資源展示
        一樣的資源,不一樣的收獲
        資源回收
        瞞天過?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        展會(huì)信息
        設(shè)計(jì)之味
        舒適廣告(2008年9期)2008-09-22 10:02:48
        亚洲精品偷拍自综合网| 五月婷婷影视| 精品日产一区2区三区| 成人免费av色资源日日| 精品偷拍被偷拍在线观看| 人妻激情偷乱一区二区三区| 国产精品98福利小视频| 高清国产亚洲精品自在久久| 99精品国产成人一区二区| 国产高清乱理伦片| 日本色偷偷| 日本韩国亚洲三级在线| 无码人妻一区二区三区兔费| 成 人 色综合 综合网站| 久久HEZYO色综合| 男女性行为免费视频网站| 亚洲成av人在线播放无码| 日韩精品一区二区三区视频| 久久久国产精品粉嫩av| 亚洲熟女少妇精品综合| 久久99精品九九九久久婷婷| 成人a在线观看| 日韩精品一级在线视频| 中文字幕一区二区三区四区五区 | 日本韩国三级在线观看| 久久婷婷五月国产色综合| 娇妻玩4p被三个男人伺候电影| 亚洲va中文字幕欧美不卡| 日本一区二区三区四区高清不卡| 国产裸体舞一区二区三区| 福利一区二区三区视频午夜观看| 亚洲女同av一区二区在线观看| 青春草在线视频观看| 成av人片一区二区三区久久| 午夜爽毛片| 中文字幕精品一区二区的区别 | 精品国产三级在线观看| 亚洲人成绝费网站色www| 在线观看国产成人自拍视频| 国产国拍亚洲精品mv在线观看| 九九九影院|