西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

emwin 工具合集

5.12 官方版
  • emwin 工具合集5.12 官方版
  • 軟件大小:6.0M
  • 更新時間:2014-11-04 16:00
  • 軟件語言:中文
  • 軟件廠商:
  • 軟件類別:國產(chǎn)軟件 / 免費(fèi)軟件 / 編程輔助
  • 軟件等級:4級
  • 應(yīng)用平臺:Win7
  • 官方網(wǎng)站:http://www.innovatechautomation.com
  • 應(yīng)用備案:
好評:50%
壞評:50%

軟件介紹

mwin GUI 工具,包括GUIBuilder.exe Bin2C.exe emWinView.exe FontCvtDemo.exe,emWin提供包括獨(dú)特的字體轉(zhuǎn)換器、Unicode 語言支持,色彩管理及圖形分層在內(nèi)的廣泛的圖形功能,且與單任務(wù)環(huán)境、多任務(wù)環(huán)境,專有的操作系統(tǒng)或任何商業(yè)用的RTOS兼容,能適應(yīng)任何大小的顯示!

emWin圖形庫由德國SEGGER公司開發(fā),可為圖形LCD設(shè)計提供高級支持,極大簡化了LCD設(shè)計并縮短上市時間。

emWin介紹:

emWin圖形用戶界面,用 emWin 開發(fā)軟件時無需目標(biāo)系統(tǒng);大多數(shù)軟件都可使用模擬器進(jìn)行開發(fā)。當(dāng)然,最終目的通常是能在目標(biāo)系統(tǒng)上運(yùn)行軟件。

emWin 設(shè)計用于提供高效且獨(dú)立于處理器和顯示控制器的圖形用戶界面(提供不依賴處理器與控制器的用戶接口),用于任何使用圖形顯示進(jìn)行操作的應(yīng)用。它與單任務(wù)和多任務(wù)環(huán)境、專用操作系統(tǒng)或具有任何商業(yè) RTOS 兼容,emWin 的發(fā)貨形式為 C 語言源代碼。它可適用于任何尺寸的、具有任何顯示控制器和 CPU 的物理和虛擬顯示器。

一般特性:

支持使用任何控制器的任何 (單色、灰度或彩色)顯示器 (如果有正確的驅(qū)動)【只要有正確驅(qū)動,支持任何帶控制器的顯示器】

在較小顯示器上無顯示控制器也可運(yùn)行。

使用配置宏可支持任何接口。

顯示尺寸可配置。

可在顯示器上的任何點(diǎn) (而不僅僅是在偶數(shù)位字節(jié)地址)上寫入字符和位圖。

已針對尺寸和速度優(yōu)化了各種例程。

利用編譯時間切換可進(jìn)行不同優(yōu)化。

對于較慢的顯示控制器,可在存儲器中緩存顯示,將存取操作減到最少,從而獲得非常高的速度。

結(jié)構(gòu)清晰。

支持虛擬顯示;虛擬顯示可大于實(shí)際顯示。

圖形庫

支持不同色深的位圖。

可使用位圖轉(zhuǎn)換器。

絕對無浮點(diǎn)使用。

快速線 / 點(diǎn)繪制 (不使用浮點(diǎn))。

圓形 / 多邊形繪制非?焖。

不同的繪圖模式

字體

基本軟件配備多種不同的字體:4*6、6*8、6*9、8*8、8*9、8*16、8*17、8*18、24*32 以及像素高度為 8、 10、 13、 16 的比例字體。有關(guān)詳細(xì)信息,請參閱字體一章。

可以定義新的字體并只需簡單鏈接。

只有應(yīng)用程序使用的字體才實(shí)際鏈接到生成的可執(zhí)行程序,從而使 ROM 使用最小。

字體可分別在 X 和 Y 方向完全縮放。

可使用字體轉(zhuǎn)換器;主機(jī)系統(tǒng) (即 Microsoft Windows)上有的任何字體都可以轉(zhuǎn)換。

字符串 / 值輸出例程

例程可以十進(jìn)制、二進(jìn)制、十六進(jìn)制、任何字體形式顯示值。

例程可以十進(jìn)制、二進(jìn)制、十六進(jìn)制、任何字體形式編輯值。

窗口管理器 (WM)

完整的窗口管理操作,包括裁剪。窗口的客戶區(qū)以外的區(qū)域不可能被覆蓋。

窗口可以移動和調(diào)整大小。

支持回調(diào)例程 (可選擇是否使用)。

WM 使用最小的 RAM (每個窗口大約 50 字節(jié))。

PC 界面外觀的可選小工具

提供各種小工具 (窗口對象,也稱為控件)。它們通常自動操作并且簡單易用。

支持觸摸屏和鼠標(biāo)

對于按鈕小工具等窗口對象, emWin 提供觸摸屏和鼠標(biāo)支持。

PC 工具

模擬脈沖查看器。

位圖轉(zhuǎn)換器。

字體轉(zhuǎn)換器。

屏幕由許多可以單獨(dú)控制的點(diǎn)組成,這些點(diǎn)稱為像素。emWin 在其 API 中提供給用戶程序的絕大部分文本和繪圖功能,都可在任何指定的像素上進(jìn)行書寫或繪制。水平尺度稱為 X 軸,而垂直尺度稱為 Y 軸。坐標(biāo)定義為一對由 X 和 Y 值組成的值 (X, Y)。在需要 X 和Y 坐標(biāo)的例程中 X 坐標(biāo)始終在前。顯示屏(或窗口)左上角的坐標(biāo)默認(rèn)為 (0,0)。正的 X 值始終向右,正的 Y 值始終向下。上圖說明了坐標(biāo)系以及 X 和 Y 軸的方向。傳遞給 API 函數(shù)的所有坐標(biāo)始終以像素為單位指定。

數(shù)據(jù)類型

由于 C 語言不提供在其他所有平臺上都相同的固定長度的數(shù)據(jù)類型,因此大多數(shù)情況下,emWin 使用自己的數(shù)據(jù)類型

emWin - 漢字字庫生成及顯示:

使用了emWin之后,除了畫圖形或bmp之外,另外一個大頭就是顯示字符了。字符包括ASCII碼,當(dāng)然最重要的就是漢字顯示了。

這里就介紹如何生成自定義的漢字字庫,以及如何顯示在TFT屏幕上。

硬件準(zhǔn)備:GG DK3750或支持emWin的設(shè)備

軟件準(zhǔn)備: GG DK3750 -> Example -> guidemo, FontCvt.exe, U2C.exe

1. 打開Simplicity Studio目錄下的reptile\emwin\exe文件夾,安裝SetupFontCvt_V516.exe。

2. 安裝完畢之后,雙擊打開Font converter for emWin, 點(diǎn)擊File - > New,在彈出來的窗口中,選擇Standard, Encoding 選擇16 Bit UNICODE。點(diǎn)擊OK。

3. 在字體窗口,選擇合適的字體,這里選擇常用的宋體。字形選擇常規(guī),大小一般選擇16。最常用的漢字大小就是16*16像素的。

4. 默認(rèn)生成的字庫,是包含所有UNICODE字符的字庫,那個可是很大的。記得應(yīng)該是差不多800KB字節(jié)吧。這里先使用一些技巧,只產(chǎn)生我們需要的漢字的字庫以及ASCII碼的字庫。

5. 點(diǎn)擊Edit -> Disable all characters。 失能所有的字符.

6. 因?yàn)橐@示英文,因此點(diǎn)擊Edit -> Enable range of characters, 在彈出來的窗口中,選擇范圍0 ~ 7F。

7. 使用網(wǎng)絡(luò)工具,查詢需要的字符的UINCODE地址,然后右鍵,選擇Toggle characters。

8. 用網(wǎng)絡(luò)工具,查詢?nèi)缦碌淖执?"挪威能微公司上海辦事處"

9. File -> Save,保存類型選擇為C-files(*.c)。此處暫時命名為Songti16.c。到此,字符我們已經(jīng)準(zhǔn)備好了,接下來就是如何顯示了。

10. emWin如何顯示呢,需要將漢字轉(zhuǎn)成emWin能識別的字串,才能顯示。

11. 打開記事本,里面寫入要顯示的字串,例如這里寫入 挪威能微公司上海辦事處

12. 點(diǎn)擊保存,保存的時候,編碼要選擇為UTF-8格式。

13. 打開U2C.exe, 載入12步創(chuàng)建的Txt檔,然后點(diǎn)擊Convert,產(chǎn)生相應(yīng)的.c文檔。

產(chǎn)生的內(nèi)容:

"\xe6\x8c\xaa\xe5\xa8\x81\xe8\x83\xbd\xe5\xbe\xae\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\x8a\xe6\xb5\xb7\xe5\x8a\x9e\xe4\xba\x8b\xe5\xa4\x84"

14. 打開GG DK3750 -> example -> guidemo,用include包含Songti16.c。

15. 在main.c創(chuàng)建一個字符串,內(nèi)容就是原先C文件里面的內(nèi)容。

static const char * _apStrings[] = {
"\xe6\x8c\xaa\xe5\xa8\x81\xe8\x83\xbd\xe5\xbe\xae\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\x8a\xe6\xb5\xb7\xe5\x8a\x9e\xe4\xba\x8b\xe5\xa4\x84"
};

16.源代碼如下:

#include "Songti16.c"

static const char * _apStrings[] = {
"\xe6\x8c\xaa\xe5\xa8\x81\xe8\x83\xbd\xe5\xbe\xae\xe5\x85\xac\xe5\x8f\xb8\xe4\xb8\x8a\xe6\xb5\xb7\xe5\x8a\x9e\xe4\xba\x8b\xe5\xa4\x84"
};

static const char * _apStringsE[] = {
    "Energy Micro AS"
};

int main(void)
{
    GUI_Init();
    GUI_Clear();
    
    unsigned long i;
    GUI_SetFont(&GUI_FontSongti16);
    GUI_UC_SetEncodeUTF8();
    GUI_SetColor(GUI_YELLOW);
    for (i = 0; i < GUI_COUNTOF(_apStrings); i++) {
        GUI_DispStringAt(_apStrings[i], 70, 0);
        GUI_DispNextLine();
    }
    
    GUI_SetColor(GUI_DARKCYAN);
    for (i = 0; i < GUI_COUNTOF(_apStrings); i++) {
        GUI_DispStringAt(_apStringsE[i], 70, 50);
        GUI_DispNextLine();
    }
    
    while(1);
}

17. 差不多結(jié)束了,咱來看看最終的結(jié)果。

emWin - BMP圖片顯示:

主要是講解一下如何利用emWin進(jìn)行BMP圖片顯示。

為什么要單獨(dú)的將這個提出來,是因?yàn)楹芏嗫蛻艟褪抢肂MP圖片,進(jìn)行GUI顯示的。例如ICON等圖標(biāo)都是小BMP圖片。如下,主要是如何將BMP圖片,轉(zhuǎn)成emWin支持的方式,最終顯示到TFT屏上的。

硬件準(zhǔn)備: GG DK 3750或則已經(jīng)將emWin移植好的硬件

軟件準(zhǔn)備: efm32lib, emWin庫,emWin手冊,emWin工具 - BmpCvt.exe

備注:其實(shí)一下的步驟,emWin手冊里有講解。大家也可參考。

1. 由于EFM32支持的16bit的TFT屏,因此,我先從網(wǎng)絡(luò)上下載2張16bit的BMP圖片。分別改名為Test1.bmp, Test2.bmp。除了位深之外,BMP還有其他的要求,否則emWin的工具轉(zhuǎn)不了。

1. 1, 4 or 8 bits per pixel (bpp) with palette;
2. 16, 24 or 32 bpp without palette (full-color mode, in which each color is assigned an RGB value);
3. RLE4 and RLE8;

注: RLE4,RLE8是圖形壓縮算法。emWin本身就支持這種算法。

2.使用BmpCvt.exe工具,將各個圖片轉(zhuǎn)成相應(yīng)的C文件. emWin有關(guān)的工具,都在Simplicity Studio工具目錄下的reptile\emwin\exe文件夾下面。

a. 找到BmpCvt.exe之后,雙擊打開。

b. File -> Open 載入Test1.bmp圖片,

c. File -> Save as

d. 在Save as窗口中的保存類型下拉菜單中,選擇"C" bitmap file(*c), 點(diǎn)擊保存.

e. 在彈出來的窗口中,選擇保存的格式。這里首先看硬件上的TFT是幾位的。是555,還是565,或則是24bit的真彩色。接下來就是紅色和藍(lán)色的bit位置是否需要調(diào)換,這個也得按照具體的驅(qū)動來。最后compressed代表產(chǎn)生的數(shù)組是否壓縮過。壓縮算法就是RLE4或RLE8。

f. 壓縮的目的是用時間換空間,因此壓縮過的bmp在刷屏的時候,由于處理方式不一樣,因此顯示的效率比較低,看起來刷的比較慢。

g. 最后一點(diǎn)就是并不是所有的圖片都合適壓縮的。舉個例子,如果bmp圖片呢是美女加風(fēng)景的復(fù)雜圖片的話,壓縮的效率其實(shí)并不高。如果一行里面有很多像素是一樣的話,而這樣的行有很多的話,那么壓縮的比例就會很高。

h. 如果不想弄清楚紅色和藍(lán)色是否需要調(diào)換,那么就先產(chǎn)生一個,看顏色是否對,然后再修正便是。當(dāng)然TFT本身的寄存器配置要對才行。。

I. 這里先選擇High Color(565) 選項(xiàng),不選擇壓縮,最后保存。

  J. 重復(fù)一次,將Test2.bmp轉(zhuǎn)成C文件。

3. 利用GG DK下面的Example - guidemo , 用include的方式Test1.c,Test2.c包含進(jìn)工程里面。

#include "Test1.c"
   #include "Test2.c"

int main(void)
   {
       CHIP_Init();

     GUI_Init();
       GUI_Clear();
    
       while(1)
       {
           GUI_DrawBitmap(&bmTest1,0,0);
           GUI_Delay(2000);
           GUI_DrawBitmap(&bmTest2,0,0);
           GUI_Delay(2000);
       }
    
       return(0);
   }

4. 完畢,如下圖所示(Demo使用的圖片,版權(quán)屬于原作者)。嘻嘻,高達(dá)啊。。

軟件標(biāo)簽: emwin

其他版本下載

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評論 > 字?jǐn)?shù): 0/500

TOP
軟件下載