在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ucgui漢字庫(kù)存放到外部的flash(控件可用)及寫外部FLASH軟件

            ucgui漢字庫(kù)存放到外部的flash(控件可用)及寫外部FLASH軟件

            作者: 時(shí)間:2016-11-27 來(lái)源:網(wǎng)絡(luò) 收藏
            最近項(xiàng)目中用到幾種字體,stm32的內(nèi)部flash以經(jīng)入不敷出。沒(méi)辦法!只好找度娘及求助群里的高手,這里對(duì)Eric2013,洋洋kan世界等高手表示感謝。學(xué)習(xí)了他們的一些思想。

            下面是找到的相關(guān)鏈接:

            本文引用地址:http://www.biyoush.com/article/201611/322358.htm

            http://blog.chinaunix.net/uid-361890-id-2953183.html

            http://www.openedv.com/posts/list/9736.htm;jsessionid=6B5FA51FE6BBC280B752D9B63BA57895

            這里我主要用的是crazytyt文章的方法,在他的基礎(chǔ)上進(jìn)行一定的改進(jìn)。解決控件用漢字居中等問(wèn)題。

            其實(shí)我的方法很簡(jiǎn)單,增加了每個(gè)字的元素一些標(biāo)量(xSize, ySize, 字節(jié)等)就可以了。

            因?yàn)閡cGUI中對(duì)文字的高度寬度的取值不光只有取模時(shí)用到,在計(jì)算居中及文本長(zhǎng)度時(shí)也同樣被用到。這就是為什么,修改GUIPROP_DispChar(c)函數(shù)后控件文本中的字感覺(jué)變的很長(zhǎng)!

            下面是我的修改方法:

            把{ 16, 16, 2, (void GUI_FLASH *)GUI_FontHZ16_Flash_BaseAddr},在它的下面復(fù)制94次就可以了。

            OK到這里,問(wèn)題就解決了。哈哈,是不是感覺(jué)也太簡(jiǎn)單了~ 事實(shí)確實(shí)是這樣子。主要是站在巨人的肩膀上進(jìn)行改進(jìn)的。

            還有個(gè)人認(rèn)為ASCII碼不算很多,就沒(méi)有必要放到外部FLASH了。所以我對(duì)其保留。

            下面是我的文件:

            http://pan.baidu.com/share/link?shareid=157310&uk=118334538

            效果:

            補(bǔ)充:

            在把自定義字體設(shè)定為默認(rèn)字體時(shí),控件沒(méi)有對(duì)基默認(rèn)指定。要手動(dòng)去指定,在程序開(kāi)始的地方加入如下代碼:

            1TEXT_SetDefaultFont(GUI_DEFAULT_FONT);2BUTTON_SetDefaultFont(GUI_DEFAULT_FONT);3EDIT_SetDefaultFont(GUI_DEFAULT_FONT);4LISTVIEW_SetDefaultFont(GUI_DEFAULT_FONT);5FRAMEWIN_SetDefaultFont(GUI_DEFAULT_FONT);

            省略了一定控件, 這里根據(jù)自己的需要去添加。

            下面奉上4個(gè)字體文件:

            http://pan.baidu.com/share/link?shareid=157719&uk=118334538

            樣本:

            空的時(shí)候?qū)懥艘粋€(gè)小軟件,用來(lái)燒寫字庫(kù)到外部FLASH中,如果你也是用的stm32的話就也可以用上,不過(guò)要稍做改動(dòng)。當(dāng)然是FLASH驅(qū)動(dòng)那部分。改動(dòng)如下:

            改了這三個(gè)地方就可以了。

            上位機(jī)是用C#寫的,與下位機(jī)的接口是rs232, 采用Modbus協(xié)議, 115200波特率。

            下面是軟件截圖,附件中包括源碼。

            附件如下:

            包括上下位機(jī)源碼。

            http://pan.baidu.com/share/link?shareid=157523&uk=118334538

            2013.3.12補(bǔ)充

            用以上的操作方法, 在使用控件時(shí),多多少少,還是會(huì)有一些問(wèn)題。后來(lái)仔細(xì)的對(duì)“洋洋kan世界”的文章進(jìn)行了研究,用他的方法,可以更好的規(guī)避控件中中文的 自動(dòng)換行,光標(biāo)停留等問(wèn)題。MULTIEDIT中的應(yīng)用,可以說(shuō)完美的解決。

            總共需要修改GUI.h,GUI_UC_EncodeNone.c,GUIType.h三個(gè)文件,和追加一個(gè)GUICharPEx.c文件。上文中的四種字庫(kù)也相應(yīng)的做了一定的修改。

            這些文件都在下面的附件中。 整個(gè)的移植過(guò)程,可以參考“洋洋kan世界”的文章。這里就不細(xì)說(shuō)了。 部分的改進(jìn),在其文章中也有說(shuō)明。可以用以下附件直接替換GUI源文件對(duì)應(yīng)的文件。

            在上文的下載字庫(kù)工具可能過(guò)于繁瑣,在后續(xù)文章中會(huì)進(jìn)行改進(jìn),使用YMODEM高效的文件傳輸協(xié)議傳送。



            關(guān)鍵詞: ucgui漢字庫(kù)flashstm3

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉