国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于QTEmbedded系統(tǒng)的字符顯示方法和系統(tǒng)的制作方法

      文檔序號(hào):6622858閱讀:217來源:國知局
      基于QT Embedded系統(tǒng)的字符顯示方法和系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種基于QT?Embedded系統(tǒng)的字符顯示方法和系統(tǒng),所述字符顯示方法包括:接收顯示字符的請(qǐng)求;從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖;按照預(yù)定顯示格式顯示所述位圖。本發(fā)明通過建立字符位圖映射表,在需要顯示字符時(shí)查找顯示預(yù)定顯示格式的位圖,從而避免了現(xiàn)有技術(shù)中需要顯示字符時(shí)高頻率地計(jì)算字符的尺寸、字符對(duì)齊的影響、字符所在位置布局的影響等情況所占用的系統(tǒng)資源問題,能夠節(jié)省系統(tǒng)資源,避免影響其他功能,防止系統(tǒng)出現(xiàn)斷續(xù)及反應(yīng)慢等現(xiàn)象,改善了用戶體驗(yàn)。
      【專利說明】基于QT Embedded系統(tǒng)的字符顯示方法和系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及顯示【技術(shù)領(lǐng)域】,具體是涉及一種基于QT Embedded系統(tǒng)的字符顯示方法,還涉及一種基于QT Embedded系統(tǒng)的字符顯示系統(tǒng)。

      【背景技術(shù)】
      [0002]現(xiàn)有技術(shù)中,Qt Embedded系統(tǒng)是圖形化界面開發(fā)工具Qt的嵌入式版本系統(tǒng),即嵌入式圖形化界面開發(fā)工具系統(tǒng),其通過Qt API (Applicat1n Program Interface,應(yīng)用程序接口)與Linux I/O接口以及Frame buffer (巾貞緩沖,標(biāo)準(zhǔn)顯示設(shè)備驅(qū)動(dòng)接口)直接交互,擁有較高的運(yùn)行效率,而且整體采用面向?qū)ο缶幊蹋瑩碛辛己玫伢w系架構(gòu)和編程模式。
      [0003]具體而言,QT Embedded系統(tǒng)用于嵌入式硬件架構(gòu)的常用軟件環(huán)境,其具有跨平臺(tái)的優(yōu)勢(shì),相同的代碼可以適用于windows、Iinux等不同操作系統(tǒng)下。
      [0004]眾所周知的是,在數(shù)控系統(tǒng)、測(cè)試儀器等設(shè)備上經(jīng)常需要用到快速變化的字符顯示。譬如機(jī)床的軸的坐標(biāo)信息需要快速在顯示屏上顯示,且這種坐標(biāo)信息具有格式不變、字符變化、字符個(gè)數(shù)變化等特點(diǎn)。而QT Embedded系統(tǒng)使用QLabel (Qt的標(biāo)簽顯示類)類進(jìn)行字符顯示,但在頻繁刷新變化的時(shí)候,QLabel會(huì)占用巨大的嵌入式系統(tǒng)處理器的資源。具體來說,對(duì)于QLabel類而言,QT Embedded系統(tǒng)在每一次刷新字符顯示的時(shí)候都需要計(jì)算字符的尺寸、字符對(duì)齊的影響、字符所在位置布局的影響等情況,而這些計(jì)算在高刷新頻率下會(huì)凸顯其資源占用耗費(fèi)的問題,甚至影響其他操作和顯示的功能,用戶體驗(yàn)差。


      【發(fā)明內(nèi)容】

      [0005]本發(fā)明主要解決現(xiàn)有技術(shù)字符刷新顯示時(shí)占用系統(tǒng)資源甚至影響其他功能的技術(shù)問題,提供一種基于QT Embedded系統(tǒng)的字符顯示方法和系統(tǒng),能夠節(jié)省系統(tǒng)資源,避免影響其他功能并提高用戶體驗(yàn)。
      [0006]為解決上述技術(shù)問題,本發(fā)明米用的一個(gè)技術(shù)方案是:提供一種基于QT Embedded系統(tǒng)的字符顯示方法,所述字符顯示方法包括:接收顯示字符的請(qǐng)求;從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖;按照預(yù)定顯示格式顯示所述位圖以響應(yīng)所述顯示字符的請(qǐng)求。
      [0007]其中,所述按照預(yù)定顯示格式顯示所述位圖的步驟,具體包括:調(diào)用顯示驅(qū)動(dòng)內(nèi)存Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      [0008]其中,所述從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖的步驟包括:將所述顯示字符的請(qǐng)求發(fā)送至QT Embedded系統(tǒng)的副線程,以使所述副線程從預(yù)存儲(chǔ)的字符位圖映射表中查找與所述字符對(duì)應(yīng)的位圖;所述按照預(yù)定顯示格式顯示所述位圖以響應(yīng)所述顯示字符的請(qǐng)求包括:所述副線程調(diào)用顯示驅(qū)動(dòng)內(nèi)存巾貞緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      [0009]其中,所述將所述顯示字符的請(qǐng)求發(fā)送至QT Embedded系統(tǒng)的副線程包括:將所述顯示字符的請(qǐng)求發(fā)送至字符顯示任務(wù)隊(duì)列;向所述副線程發(fā)送有任務(wù)的喚醒,以使所述副線程檢查所述字符顯示任務(wù)隊(duì)列,并按照先入先出的順序執(zhí)行所述字符顯示任務(wù)隊(duì)列中的請(qǐng)求
      [0010]其中,所述從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖的步驟之前,還包括:按照預(yù)定字符格式制作字符的位圖;建立所述字符與所述位圖的字符位圖映射表并存儲(chǔ)所述位圖。
      [0011]其中,所述預(yù)定顯示格式包括所述字符的大小、字體、顏色和對(duì)齊方式,所述字符包括以下類型的字符中的至少一種:阿拉伯?dāng)?shù)字、英文字母、漢字、符合和特殊符號(hào)。
      [0012]為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種基于QTEmbedded系統(tǒng)的字符顯示系統(tǒng),所述字符顯示系統(tǒng)包括接收模塊,查找模塊和描繪顯示模塊:所述接收模塊,用于接收顯示字符的請(qǐng)求;所述查找模塊,用于從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖;所述描繪顯示模塊,用于按照預(yù)定顯示格式顯示所述位圖以響應(yīng)所述顯示字符的請(qǐng)求。
      [0013]其中,所述描繪顯示模塊具體用于調(diào)用顯示驅(qū)動(dòng)內(nèi)存巾貞緩沖Frame buffe對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      [0014]其中,所述字符顯示系統(tǒng)還包括:發(fā)送模塊,用于將所述顯示字符的請(qǐng)求發(fā)送至QTEmbedded系統(tǒng)的副線程,以使所述副線程從預(yù)存儲(chǔ)的字符位圖映射表中查找與所述字符對(duì)應(yīng)的位圖;所述副線程還用于調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      [0015]其中,所述發(fā)送模塊包括:第一發(fā)送子模塊,用于將所述顯示字符的請(qǐng)求發(fā)送至字符顯示任務(wù)隊(duì)列;第二發(fā)送子模塊,用于向所述副線程發(fā)送有任務(wù)的喚醒,以使所述副線程檢查所述字符顯示任務(wù)隊(duì)列,并按照先入先出的順序執(zhí)行所述字符顯示任務(wù)隊(duì)列中的請(qǐng)求。
      [0016]本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明通過建立字符位圖映射表,在接收到顯示字符的請(qǐng)求時(shí)查找需要顯示的字符對(duì)應(yīng)預(yù)定顯示格式的位圖,從而避免了現(xiàn)有技術(shù)中需要顯示字符時(shí)高頻率地計(jì)算字符的大小、字符對(duì)齊的影響、字符所在位置布局的影響等情況所占用的系統(tǒng)資源問題,能夠節(jié)省系統(tǒng)資源,避免影響其他功能,防止系統(tǒng)出現(xiàn)斷續(xù)及反應(yīng)慢等現(xiàn)象,改善了用戶體驗(yàn)。

      【專利附圖】

      【附圖說明】
      [0017]圖1是本發(fā)明字符顯示方法一實(shí)施方式的流程圖;
      [0018]圖2是本發(fā)明字符顯示方法第一【具體實(shí)施方式】的流程圖;
      [0019]圖3是本發(fā)明字符顯示方法第二【具體實(shí)施方式】的流程圖;
      [0020]圖4是本發(fā)明字符顯示系統(tǒng)第一實(shí)施方式的流程圖;
      [0021]圖5是本發(fā)明字符顯示系統(tǒng)第二實(shí)施方式的流程圖。

      【具體實(shí)施方式】
      [0022]參閱圖1,圖1是本發(fā)明字符顯示方法一實(shí)施方式的流程圖,本實(shí)施方式字符顯示方法可以用于面向?qū)ο缶幊痰南到y(tǒng)中,譬如為基于QT Embedded的系統(tǒng),具體可以用于數(shù)控系統(tǒng)、測(cè)試儀器、秒表等顯示字符讀數(shù)的裝置上,本實(shí)施方式字符顯示方法包括但不限于以下步驟。
      [0023]步驟S100,接收顯示字符的請(qǐng)求。
      [0024]在步驟SlOO中,QT Embedded系統(tǒng)可以根據(jù)用戶的具體操作、待顯示列表等等方式而被動(dòng)或主動(dòng)地產(chǎn)生顯示字符的請(qǐng)求。
      [0025]步驟S101,從預(yù)存儲(chǔ)的字符位圖映射表中查找與字符對(duì)應(yīng)的位圖。
      [0026]在步驟SlOl之前,本發(fā)明可以預(yù)先進(jìn)行設(shè)置:按照預(yù)定字符格式制作字符的位圖,其中每個(gè)位圖對(duì)應(yīng)于一個(gè)字符或者多個(gè)字符;接著,建立字符與位圖的字符位圖映射表并存儲(chǔ)位圖。而在步驟SlOl中,接收到顯示字符的請(qǐng)求而需要顯示字符時(shí),直接根據(jù)字符位圖映射表查找與字符、需要顯示的字符對(duì)應(yīng)的位圖。
      [0027]需要說明的是,本實(shí)施方式所述的預(yù)定字符格式可以包括字符的大小、字體、顏色、背景,譬如大小為“5號(hào)”,字體為“宋體”,顏色為“紅色”等等。此外,本實(shí)施方式所述的字符具體可以包括以下類型的字符中的至少一種:阿拉伯?dāng)?shù)字、英文字母、漢字、符合和特殊符號(hào),譬如“l(fā)、2、3、a、b、c、d、正常、異常、S、A、al、l正常、δ 2a”等類似的單個(gè)或組合的方式。相應(yīng)地,位圖可以為阿拉伯?dāng)?shù)字、英文字母、漢字、特殊符號(hào)和其中的任意組合,譬如“l(fā)、2、3、a、b、c、d、正常、異常、S、A、al、l正常、δ 2a”等類似的單個(gè)或組合的方式。
      [0028]舉例而言,在數(shù)控系統(tǒng)中,對(duì)于軸坐標(biāo)變化的“快速”字符,同一個(gè)顯示位置的顯示方式和字符的格式可以是固定的,即字符的大小、字體、對(duì)齊方式等是不變的,且顯示的字符種類也是有限的,如數(shù)字O?9、大于10的數(shù)字、以及小數(shù)等,均是O?9的字符的排列組合。因此在數(shù)控系統(tǒng)中,要顯示的字符是有限的、比較固定的組合。不難看出,本實(shí)施方式把這些有限的顯示格式預(yù)先設(shè)置固定,每次刷新顯示字符時(shí)即可以從至少一個(gè)顯示格式表中自動(dòng)/智能/默認(rèn)選擇合適的進(jìn)行排列組合。同理,對(duì)于其他字符,本實(shí)施方式作類似處理即可,在本【技術(shù)領(lǐng)域】人員容易結(jié)合理解的范圍內(nèi),不作贅述。
      [0029]步驟S102,按照預(yù)定顯示格式顯示位圖以響應(yīng)顯示字符的請(qǐng)求。
      [0030]舉例來說,預(yù)定顯示格式可以包括:位圖(字符)的對(duì)齊方式、縮放比例等內(nèi)容。
      [0031]在步驟S102中,本實(shí)施方式將查找到的位圖按照預(yù)定顯示格式進(jìn)行顯示,通過“抓取”“描畫”的直接方式,將位圖賦值描繪到顯示屏上,而無需再重新計(jì)算字體的大小、對(duì)齊和布局等,減少計(jì)算過程對(duì)系統(tǒng)性能和資源的占用和影響。
      [0032]值得注意的是,本實(shí)施方式可以采用一般的位圖描畫函數(shù)進(jìn)行描畫顯示,譬如QTEmbedded的位圖描畫函數(shù)等,在此不作限定。
      [0033]本實(shí)施方式使用位圖的方式,具體采用位圖列表存儲(chǔ)映射關(guān)系的方式,將有限的字符以預(yù)定的字體、大小、背景顯示格式等設(shè)置存儲(chǔ),而在需要更新顯示字符、或刷新畫面等時(shí),將字符的字符串拆開成單獨(dú)獨(dú)立的、已經(jīng)存儲(chǔ)在位圖列表里的圖片格式的字符,就可以在顯示屏合適的位置擺列描畫出來。譬如“l(fā)、2、3、a、b、c、d、正常、異常、S、A、al、l正常、δ 2a”等類似的單個(gè)或組合的字符方式。相應(yīng)地,所描畫的位圖可以為阿拉伯?dāng)?shù)字、英文字母、漢字、符號(hào)和特殊符號(hào),譬如“1、2、3、&、13、(3、(1、正常、異常、δ、Λ、ει1、1正常、δ 2a”等類似的單個(gè)或組合的方式。
      [0034]本發(fā)明通過建立字符位圖映射表,在需要顯示字符時(shí)查找并按照預(yù)定顯示格式顯示與需要顯示的字符對(duì)應(yīng)的位圖,從而避免了現(xiàn)有技術(shù)中需要顯示字符時(shí)高頻率地計(jì)算字符的大小、字符對(duì)齊的影響、字符所在位置布局的影響等情況所占用的系統(tǒng)資源問題,能夠節(jié)省系統(tǒng)資源,避免影響其他功能,防止系統(tǒng)出現(xiàn)斷續(xù)及反應(yīng)慢等現(xiàn)象,有效地提高了用戶體驗(yàn)。
      [0035]需要指出的是,上述實(shí)施方式適用于大部分的面向?qū)ο缶幊痰南到y(tǒng)中,然而對(duì)于Qt Embedded系統(tǒng)來說,如果顯示時(shí)采用QT Embedded的位圖描畫函數(shù),在每次描畫顯示時(shí),仍需要計(jì)算當(dāng)前位圖和其所在布局的位置影響,這種計(jì)算往往會(huì)占用大量的系統(tǒng)資源。此夕卜,QTEmbedded系統(tǒng)對(duì)于描畫顯示的操作限定在系統(tǒng)的主線程中,即描畫位圖或者顯示字符的操作必須放在和系統(tǒng)其它主要邏輯工作的同一個(gè)線程里,如果描畫刷新的操作占用過多系統(tǒng)資源,會(huì)明顯的影響到其它的邏輯操作,比如按鍵的響應(yīng)速度會(huì)變慢等。
      [0036]針對(duì)上述情況以解決上述技術(shù)問題,請(qǐng)參閱圖2,圖2是本發(fā)明字符顯示方法第一【具體實(shí)施方式】的流程圖,本實(shí)施方式字符顯示方法包括但不限于以下幾個(gè)步驟。
      [0037]步驟S200,接收顯示字符的請(qǐng)求。
      [0038]步驟S201,從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖。
      [0039]其中,步驟S201請(qǐng)參閱前面實(shí)施方式步驟SlOl的相關(guān)描述,在本【技術(shù)領(lǐng)域】人員理解的范圍內(nèi),不作贅述。
      [0040]步驟S202,調(diào)用顯示驅(qū)動(dòng)內(nèi)存Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以預(yù)定顯示格式在顯示屏上顯示位圖。
      [0041]在步驟S202中,本實(shí)施方式Frame buffer將與需要顯示的字符對(duì)應(yīng)的位圖按照預(yù)定顯示格式進(jìn)行顯示,通過“抓取”“描畫”的直接方式,將位圖賦值描繪到顯示屏上,而無需再重新計(jì)算字體的大小、對(duì)齊和布局等,減少計(jì)算過程對(duì)系統(tǒng)性能和資源的占用和影響。
      [0042]本實(shí)施方式在需要更新顯示字符、或刷新畫面等時(shí),通過Frame buffer操作將字符的字符串拆開成單獨(dú)獨(dú)立的、已經(jīng)存儲(chǔ)在位圖列表里的圖片格式的字符,就可以在顯示屏合適的位置擺列描畫出來。在本實(shí)施方式中,所描畫的位圖可以為以下類型的字符中的至少一種:阿拉伯?dāng)?shù)字、英文字母、漢字、符號(hào)和特殊符號(hào),譬如“l(fā)、2、3、a、b、c、d、正常、異常、δ、Λ、ει1、1正常、δ 2a”等類似的單個(gè)或組合的方式。
      [0043]需要說明的是,本實(shí)施方式通過使用Frame buffer操作,可以將描畫位圖或者顯示字符等的操作放在和主線程并列的另一個(gè)線程(一般為副線程)里。不難理解的是,在QT Embedded系統(tǒng)中,操作Frame buffer并不屬于QT系統(tǒng)本身的功能,因此無需限制于主線程里,進(jìn)一步而言,當(dāng)操作Frame buffer放在另一個(gè)副線程之后,即使Frame buffer操作占用再多的資源,也不會(huì)干擾影響主線程里面的邏輯計(jì)算、響應(yīng)回饋等,因此在很大程度上提高了系統(tǒng)的整體性能。
      [0044]需要指出的是,在圖2所述的實(shí)施方式中,由于采用了另一個(gè)線程(副線程)執(zhí)行Frame buffer操作描畫顯示位圖,因此需要保證系統(tǒng)主線程的顯示字符的請(qǐng)求與副線程的Frame buffer操作同步,請(qǐng)參閱圖3,圖3是本發(fā)明字符顯示方法第二【具體實(shí)施方式】的流程圖,本實(shí)施方式字符顯示方法包括但不限于以下幾個(gè)步驟。
      [0045]步驟S300,接收顯示字符的請(qǐng)求。
      [0046]步驟S301,將顯示字符的請(qǐng)求發(fā)送至QT Embedded系統(tǒng)的副線程,以使副線程從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖。
      [0047]在步驟S301中,舉例來說,S300中系統(tǒng)檢測(cè)到需要顯示字符時(shí),可以首先產(chǎn)生并記錄相應(yīng)的字符顯示請(qǐng)求。譬如當(dāng)前字符顯示為“209.23”,而下一時(shí)刻需要顯示的字符為“210.55”,此時(shí),系統(tǒng)產(chǎn)生并記錄需要顯示“210.55”的請(qǐng)求。
      [0048]接著,在步驟S301中,在記錄顯示字符的請(qǐng)求后,向QT Embedded系統(tǒng)中的副線程發(fā)送有任務(wù)的喚醒。
      [0049]在記錄需要顯示“210.55”的請(qǐng)求后,同時(shí)向副線程發(fā)送有所述“顯示210.55”的喚醒,以備副線程進(jìn)行跟進(jìn)處理。
      [0050]其中,副線程在被喚醒后,檢查顯示字符的請(qǐng)求。
      [0051]當(dāng)副線程的資源可提供工作服務(wù)時(shí),受到喚醒并檢查已記錄的顯示“210.55”的請(qǐng)求。
      [0052]需要說明的是,步驟S301中如果請(qǐng)求為多個(gè),則將所述顯示字符的請(qǐng)求發(fā)送至字符顯示任務(wù)隊(duì)列;接著,向所述副線程發(fā)送有任務(wù)的喚醒,以使所述副線程檢查所述字符顯示任務(wù)隊(duì)列,并按照先入先出的順序執(zhí)行所述字符顯示任務(wù)隊(duì)列中的請(qǐng)求。
      [0053]不難看出,通過這種方式,可以記錄保存所有顯示字符的請(qǐng)求,避免因?yàn)殡p線程繁忙而導(dǎo)致無法響應(yīng)顯示字符的請(qǐng)求甚至漏掉其中一個(gè)或多個(gè)的顯示字符的請(qǐng)求,有效地避免繁忙時(shí)無法響應(yīng)或者漏掉顯示字符的請(qǐng)求。
      [0054]本實(shí)施方式可以預(yù)先進(jìn)行設(shè)置:按照預(yù)定字符格式制作字符的位圖;接著,建立字符與位圖的字符位圖映射表并存儲(chǔ)位圖。而在需要顯示字符時(shí),直接根據(jù)字符位圖映射表查找與字符對(duì)應(yīng)的位圖。
      [0055]需要說明的是,本實(shí)施方式所述的預(yù)定字符格式可以包括字符的大小、字體、顏色、背景,譬如大小為“5號(hào)”,字體為“宋體”,顏色為“紅色”等等。此外,本實(shí)施方式所述的字符具體可以包括阿拉伯?dāng)?shù)字、英文字母、漢字、特殊符號(hào)和其中的任意組合,譬如“1、2、3、a、b、c、d、正常、異常、δ、Λ、&1、1正常、δ 2a”等類似的單個(gè)或組合的方式。相應(yīng)地,位圖可以為阿拉伯?dāng)?shù)字、英文字母、漢字、特殊符號(hào)和其中的任意組合,譬如“l(fā)、2、3、a、b、c、d、正常、異常、δ、Λ、&1、1正常、δ 2a”等類似的單個(gè)或組合的方式。
      [0056]舉例而言,在數(shù)控系統(tǒng)中,對(duì)于軸坐標(biāo)變化的“快速”字符,同一個(gè)顯示位置的顯示方式可以是固定的,即字符的大小、字體、對(duì)齊方式等是不變的,且顯示的字符種類也是有限的,如數(shù)字O?9、大于10的數(shù)字、以及小數(shù)等,均是O?9的字符的排列組合。因此在數(shù)控系統(tǒng)中,要顯示的字符是有限的、比較固定的組合。不難看出,本實(shí)施方式把這些有限的顯示格式預(yù)先設(shè)置固定,每次刷新顯示字符時(shí)即可以從至少一個(gè)顯示格式表中自動(dòng)/智能/默認(rèn)選擇合適的進(jìn)行排列組合。同理,對(duì)于其他字符,本實(shí)施方式作類似處理即可,在本【技術(shù)領(lǐng)域】人員容易結(jié)合理解的范圍內(nèi),不作贅述。
      [0057]步驟S302,副線程調(diào)用顯示驅(qū)動(dòng)內(nèi)存巾貞緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以預(yù)定顯示格式在顯示屏上顯示位圖。
      [0058]在步驟S302中,如前所述,副線程在被喚醒后,檢查該字符顯示任務(wù)隊(duì)列,并按照先入先出的順序處理多個(gè)顯示字符的請(qǐng)求,直到依序?qū)⒆址@示任務(wù)隊(duì)列中的所有字符的位圖都以預(yù)定顯示格式在顯示屏上描畫顯示。
      [0059]綜上所述,本發(fā)明實(shí)施方式的字符顯示方法將字符映射為固定的位圖,使得每次刷新顯示時(shí)無需頻繁地計(jì)算字體、大小、對(duì)齊等因素,同時(shí),本發(fā)明通過Frame buffer操作避開QT Embedded對(duì)位圖描畫時(shí)對(duì)齊、布局等的計(jì)算,此外,本發(fā)明可以通過字符顯示任務(wù)隊(duì)列和主副線程的配合,提高響應(yīng)效率并避免顯示字符的請(qǐng)求的遺漏。結(jié)合上述多個(gè)實(shí)施方式,本發(fā)明可以有效地提高基于QT Embedded環(huán)境下的快速的字符顯示的效率,同時(shí),本發(fā)明能夠有效地節(jié)省系統(tǒng)資源,避免影響其他功能,防止系統(tǒng)出現(xiàn)斷續(xù)及反應(yīng)慢等現(xiàn)象,改善了用戶體驗(yàn)。
      [0060]請(qǐng)參閱圖4,圖4是本發(fā)明字符顯示系統(tǒng)第一實(shí)施方式的流程圖,本實(shí)施方式提供一種可以用于面向?qū)ο缶幊蹋┤缁赒T Embedded的字符顯示系統(tǒng),本實(shí)施方式的字符顯示系統(tǒng)包括但不限于接收模塊40,查找模塊41和描繪顯示模塊42。
      [0061]接收模塊40用于接收顯示字符的請(qǐng)求。其中QT Embedded系統(tǒng)可以根據(jù)用戶的具體操作、待顯示列表等等方式而被動(dòng)或主動(dòng)地產(chǎn)生顯示字符的請(qǐng)求。
      [0062]在本實(shí)施方式中,查找模塊41可以用于根據(jù)接收模塊40接收的顯示字符的請(qǐng)求,從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖,以響應(yīng)顯示字符的請(qǐng)求。
      [0063]其中,本實(shí)施方式可以預(yù)先進(jìn)行設(shè)置:按照預(yù)定顯示格式制作字符的位圖;接著,建立字符與位圖的字符位圖映射表并存儲(chǔ)位圖。通過這種方式,查找模塊41,在需要顯示字符時(shí),直接根據(jù)字符位圖映射表查找與需要顯示的字符對(duì)應(yīng)的位圖。
      [0064]需要說明的是,本實(shí)施方式所述的預(yù)定顯示格式可以包括字符的大小、字體、顏色、背景,譬如大小為“5號(hào)”,字體為“宋體”,顏色為“紅色”等等。此外,本實(shí)施方式所述的字符具體可以包括阿拉伯?dāng)?shù)字、英文字母、漢字、特殊符號(hào)和其中的任意組合,譬如“1、2、3、
      a、b、c、d、正常、異常、δ、Λ、&1、1正常、δ 2a”等類似的單個(gè)或組合的方式。相應(yīng)地,位圖可以為阿拉伯?dāng)?shù)字、英文字母、漢字、特殊符號(hào)和其中的任意組合,譬如“l(fā)、2、3、a、b、c、d、正常、異常、δ、Λ、&1、1正常、δ 2a”等類似的單個(gè)或組合的方式。
      [0065]舉例而言,在數(shù)控系統(tǒng)中,對(duì)于軸坐標(biāo)變化的“快速”字符,同一個(gè)顯示位置的顯示方式可以是固定的,即字符的大小、字體、對(duì)齊方式等是不變的,且顯示的字符種類也是有限的,如數(shù)字O?9、大于10的數(shù)字、以及小數(shù)等,均是O?9的字符的排列組合。因此在數(shù)控系統(tǒng)中,要顯示的字符是有限的、比較固定的組合。不難看出,本實(shí)施方式把這些有限的顯示格式預(yù)先設(shè)置固定,每次刷新顯示字符時(shí)即可以從至少一個(gè)顯示格式表中自動(dòng)/智能/默認(rèn)選擇合適的進(jìn)行排列組合。同理,對(duì)于其他字符,本實(shí)施方式作類似處理即可,在本【技術(shù)領(lǐng)域】人員容易結(jié)合理解的范圍內(nèi),不作贅述。
      [0066]描繪顯示模塊42可以用于按照預(yù)定顯示格式顯示位圖以響應(yīng)顯示字符的請(qǐng)求。本實(shí)施方式描繪顯示模塊42根據(jù)查找到的位圖的預(yù)定顯示格式進(jìn)行顯示,譬如通過“抓取” “描畫”的直接方式,將位圖賦值描繪到顯示屏上,而無需再重新計(jì)算字體的大小、對(duì)齊和布局等,減少計(jì)算過程對(duì)系統(tǒng)性能和資源的占用和影響。
      [0067]本實(shí)施方式使用位圖的方式,具體采用位圖列表存儲(chǔ)映射關(guān)系的方式,將有限的字符以預(yù)定的字體、大小、背景顯示格式等設(shè)置存儲(chǔ),而在需要更新顯示字符、或刷新畫面等時(shí),將字符的字符串拆開成單獨(dú)獨(dú)立的、已經(jīng)存儲(chǔ)在位圖列表里的圖片格式的字符,就可以在顯示屏合適的位置擺列描畫出來。譬如“l(fā)、2、3、a、b、c、d、正常、異常、S、A、al、l正常、δ 2a”等類似的單個(gè)或組合的字符方式。相應(yīng)地,所描畫的位圖可以為阿拉伯?dāng)?shù)字、英文字母、漢字、特殊符號(hào)和其中的任意組合,譬如“l(fā)、2、3、a、b、c、d、正常、異常、δ、A、al、l正常、δ 2a”等類似的單個(gè)或組合的方式。
      [0068]本發(fā)明通過建立字符位圖映射表,在需要顯示字符時(shí)查找顯示預(yù)定顯示格式的位圖,從而避免了現(xiàn)有技術(shù)中需要顯示字符時(shí)高頻率地計(jì)算字符的大小、字符對(duì)齊的影響、字符所在位置布局的影響等情況所占用的系統(tǒng)資源問題,能夠節(jié)省系統(tǒng)資源,避免影響其他功能,防止系統(tǒng)出現(xiàn)斷續(xù)及反應(yīng)慢等現(xiàn)象,有效地提高了用戶體驗(yàn)。
      [0069]請(qǐng)參閱圖5,圖5是本發(fā)明字符顯示系統(tǒng)第二實(shí)施方式的流程圖,本實(shí)施方式字符顯示系統(tǒng)包括但不限于接收模塊40、發(fā)送模塊50、查找模塊41、描繪顯示模塊42和顯示屏43等。
      [0070]需要說明的是,本實(shí)施方式字符顯示系統(tǒng)可以為嵌入式圖形化界面開發(fā)工具QTEmbedded 系統(tǒng)。
      [0071]接收模塊40用于接收顯示字符的請(qǐng)求。其中QT Embedded系統(tǒng)可以根據(jù)用戶的具體操作、待顯示列表等等方式而被動(dòng)或主動(dòng)地產(chǎn)生顯示字符的請(qǐng)求。
      [0072]在本實(shí)施方式中,發(fā)送模塊50可以用于將所述顯示字符的請(qǐng)求發(fā)送至QTEmbedded系統(tǒng)的副線程,以使所述副線程從預(yù)存儲(chǔ)的字符位圖映射表中查找與所述字符對(duì)應(yīng)的位圖;接著,副線程還用于調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以預(yù)定顯示格式在顯示屏43上顯示所述位圖。
      [0073]優(yōu)選的,字符顯示任務(wù)隊(duì)列可以為多個(gè)并按時(shí)間先后順序記錄到字符顯示任務(wù)隊(duì)列中,發(fā)送模塊50具體可以包括:第一發(fā)送子模塊,用于將顯示字符的請(qǐng)求發(fā)送至字符顯示任務(wù)隊(duì)列;第二發(fā)送子模塊,用于向副線程發(fā)送有任務(wù)的喚醒,以使副線程檢查所述字符顯示任務(wù)隊(duì)列,并按照先入先出的順序執(zhí)行所述字符顯示任務(wù)隊(duì)列中的請(qǐng)求。本實(shí)施方式通過主、副線程以及字符顯示任務(wù)隊(duì)列的方式,可以有效地保證系統(tǒng)主線程的顯示字符的請(qǐng)求與副線程的Frame buffer操作同步。
      [0074]描繪顯示模塊42具體用于調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffe對(duì)顯示屏43的像素點(diǎn)進(jìn)行操作,以將位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以預(yù)定顯示格式在顯示屏43上顯示位圖。
      [0075]不難理解的是,本實(shí)施方式通過使用Frame buffer操作,可以將描畫位圖或者顯示字符等的操作放在和主線程并列的另一個(gè)線程(一般為副線程)里進(jìn)行執(zhí)行。不難理解的是,在QT Embedded系統(tǒng)中,操作Frame buffer并不屬于QT系統(tǒng)本身的功能,因此無需限制于主線程里,進(jìn)一步而言,當(dāng)操作Frame buffer放在另一個(gè)副線程之后,即使Framebuffer操作占用再多的資源,也不會(huì)干擾影響主線程里面的邏輯計(jì)算、響應(yīng)回饋等,因此在很大程度上提高了系統(tǒng)的整體性能。
      [0076]此外,本實(shí)施方式字符顯示系統(tǒng)的具體實(shí)現(xiàn)方式可以參閱前面實(shí)施方式字符顯示方法的相關(guān)描述,在本【技術(shù)領(lǐng)域】人員容易結(jié)合理解的范圍內(nèi),不再贅述。
      [0077]本發(fā)明實(shí)施方式的字符顯示系統(tǒng)將字符映射為固定的位圖,使得每次刷新顯示時(shí)無需頻繁地計(jì)算字體、大小、對(duì)齊等,同時(shí),本發(fā)明通過Frame buffer操作避開QT Embedded對(duì)位圖描畫時(shí)對(duì)齊、布局等的計(jì)算,此外,本發(fā)明可以通過字符顯示任務(wù)隊(duì)列和主副線程的配合,提高響應(yīng)效率并避免顯示字符的請(qǐng)求的遺漏。結(jié)合上述多個(gè)實(shí)施方式,本發(fā)明可以有效地提高基于QT Embedded環(huán)境下的快速字符顯示的效率,同時(shí),本發(fā)明能夠有效地節(jié)省系統(tǒng)資源,避免影響其他功能,防止系統(tǒng)出現(xiàn)斷續(xù)及反應(yīng)慢等現(xiàn)象,改善了用戶體驗(yàn)。
      [0078]以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
      【權(quán)利要求】
      1.一種基于QT Embedded系統(tǒng)的字符顯示方法,其特征在于,所述字符顯示方法包括: 接收顯示字符的請(qǐng)求; 從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖; 按照預(yù)定顯示格式顯示所述位圖以響應(yīng)所述顯示字符的請(qǐng)求。
      2.根據(jù)權(quán)利要求1所述的字符顯示方法,其特征在于,所述按照預(yù)定顯示格式顯示所述位圖的步驟,具體包括: 調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      3.根據(jù)權(quán)利要求2所述的字符顯示方法,其特征在于,所述從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖的步驟包括: 將所述顯示字符的請(qǐng)求發(fā)送至QT Embedded系統(tǒng)的副線程,以使所述副線程從預(yù)存儲(chǔ)的字符位圖映射表中查找與所述字符對(duì)應(yīng)的位圖; 所述按照預(yù)定顯示格式顯示所述位圖以響應(yīng)所述顯示字符的請(qǐng)求包括: 所述副線程調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      4.根據(jù)權(quán)利要求3所述的字符顯示方法,其特征在于,所述將所述顯示字符的請(qǐng)求發(fā)送至QT Embedded系統(tǒng)的副線程包括: 將所述顯示字符的請(qǐng)求發(fā)送至字符顯示任務(wù)隊(duì)列; 向所述副線程發(fā)送有任務(wù)的喚醒,以使所述副線程檢查所述字符顯示任務(wù)隊(duì)列,并按照先入先出的順序執(zhí)行所述字符顯示任務(wù)隊(duì)列中的請(qǐng)求。
      5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的字符顯示方法,其特征在于,所述從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖的步驟之前,還包括: 按照預(yù)定字符格式制作字符的位圖; 建立所述字符與所述位圖的字符位圖映射表并存儲(chǔ)所述位圖。
      6.根據(jù)權(quán)利要求5所述的字符顯示方法,其特征在于,所述預(yù)定字符格式包括所述字符的大小、字體、顏色,所述字符包括以下類型的字符中的至少一種:阿拉伯?dāng)?shù)字、英文字母、漢字、符號(hào)和特殊符號(hào)。
      7.一種基于QT Embedded系統(tǒng)的字符顯示系統(tǒng),其特征在于,所述字符顯示系統(tǒng)包括: 接收模塊,用于接收顯示字符的請(qǐng)求; 查找模塊,用于從預(yù)存儲(chǔ)的字符位圖映射表中查找與需要顯示的字符對(duì)應(yīng)的位圖; 描繪顯示模塊,用于按照預(yù)定顯示格式顯示所述位圖以響應(yīng)所述顯示字符的請(qǐng)求。
      8.根據(jù)權(quán)利要求7所述的字符顯示系統(tǒng),其特征在于,所述描繪顯示模塊具體用于調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffe對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      9.根據(jù)權(quán)利要求8所述的字符顯示系統(tǒng),其特征在于,所述字符顯示系統(tǒng)還包括: 發(fā)送模塊,用于將所述顯示字符的請(qǐng)求發(fā)送至QT Embedded系統(tǒng)的副線程,以使所述副線程從預(yù)存儲(chǔ)的字符位圖映射表中查找與所述字符對(duì)應(yīng)的位圖; 所述副線程還用于調(diào)用顯示驅(qū)動(dòng)內(nèi)存幀緩沖Frame buffer對(duì)顯示屏的像素點(diǎn)進(jìn)行操作,以將所述位圖填充在對(duì)應(yīng)的Frame buffer位置上,進(jìn)而以所述預(yù)定顯示格式在所述顯示屏上顯示所述位圖。
      10.根據(jù)權(quán)利要求9所述的字符顯示系統(tǒng),其特征在于, 所述發(fā)送模塊包括: 第一發(fā)送子模塊,用于將所述顯示字符的請(qǐng)求發(fā)送至字符顯示任務(wù)隊(duì)列; 第二發(fā)送子模塊,用于向所述副線程發(fā)送有任務(wù)的喚醒,以使所述副線程檢查所述字符顯示任務(wù)隊(duì)列,并按照先入先出的順序執(zhí)行所述字符顯示任務(wù)隊(duì)列中的請(qǐng)求。
      【文檔編號(hào)】G06F3/14GK104199628SQ201410386727
      【公開日】2014年12月10日 申請(qǐng)日期:2014年8月7日 優(yōu)先權(quán)日:2014年8月7日
      【發(fā)明者】周國麟 申請(qǐng)人:北京配天技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1