衡阳派盒市场营销有限公司

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>基于MiniGUI的嵌入式系統用戶界面關鍵問題的解決方案

基于MiniGUI的嵌入式系統用戶界面關鍵問題的解決方案

2017-10-27 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

  引言
  在需要豐富人機交互信息嵌入式系統應用中,高精度的動態圖像顯示非常重要。因此,嵌入式系統對GUI的實時性和穩定性的要求也越來越明顯。但是,動態圖像的抖動和刷新延遲的問題在嵌入式系統中經常出現,影響系統的顯示效果
  國產圖形用戶界面系統MiniGUI提供完備的多窗口機制和類Win32消息傳遞機制,便于實現多個進程間的消息傳遞。而且具有占用內存少、可移植性好等特點,因此在嵌入式領域中被廣泛應用。但在實際應用中,筆者發現了兩個問題:一是用MiniGUI的animation控件實現時出現動畫抖動,二是顯示較多圖片的窗口刷新時屏幕閃爍,嚴重影響屏幕的顯示效果。為解決以上兩個問題,本系統采用MiniGUI的雙緩沖技術和多張圖片交替顯示的方法,并通過實際應用證明了該方法的有效性
  1 數字加密電話系統架構
  1.1 硬件系統
  數字加密電話硬件系統的芯片采用ATMEL公司的AT91SAM9263處理器。主頻為200 MHz,2 MB高速Data Flash、64 MB NAND Flash和64 MB SDRAM。核心板的對外接口包括鍵盤接口、LCD接口、LED接口、MODEM模塊、電話機模塊和接口、SD卡接口和USB主從接口等。如圖1所示。
  基于MiniGUI的嵌入式系統用戶界面關鍵問題的解決方案
  1.2 軟件系統
  操作系統:開放源碼的Linux操作系統是開發嵌入式產品的首選。本系統采用開放源碼的嵌入式Linux系統。它的內核版本為2.6.22,是基于default_at91sam9263_config配置的
  交叉編譯工具鏈:采用arm-linux-XXX。arm-linux-gcc用于交叉編譯源程序,生成執行文件;arm-linux-strip用于去掉執行文件中的調試信息,起到減小執行文件大小的作用
  GUI系統:MiniGUI是國產的一款面向嵌入式系統、跨操作系統的輕量級國產高級窗口系統(Windowing System)和圖形用戶界面(Graphi-cal User Interface,GUI)支持系統。經過10余年的發展,MiniGUI已經發展成為比較成熟、性能優良且功能豐富的跨操作系統的嵌入式圖形界面支持系統。MiniGUI可在Linux/μClinux、eCos、μC/OS-II、VxWorks、pSOS、ThreadX等操作系統以及Win32平臺上運行,已廣泛應用于手持信息終端、機頂盒、工業控制系統、便攜式多媒體播放器等產品中
  MiniGUI支持BMP、GIF、PNG、JPEG、PCX、TGA等常見圖像文件和位圖、圖標、光標等Windows資源文件,支持多字符集和多種字體,庫文件較小且可配置。MiniGUI3.0比其之前的版本,在以下幾方面有新的發展:
  ①主窗口雙緩沖技術,可以在自定義緩沖區中獲得整個窗口的渲染結果
  ②外觀渲染器技術,外觀渲染器提供了多種風格的主窗口和控件界面外觀,并且應用程序可在幾種風格之間動態切換
  ③雙向文本顯示與輸入,增加了對阿拉伯文和希伯來文語言的支持,實現了文本的變形和重排,并提供了阿拉伯文和希伯來文鍵盤的支持
  ④支持不規則窗口,如圓角矩形、非矩形窗口等
  ⑤增加了組件mGUtilis,該組件為用戶提供了一些常用的對話框模板,便于代碼復用
  ⑥增加了組件msgplus,該組件是對MiniGUI圖形繪制接口的一個擴充和增強,主要提供對二維矢量圖形和高級圖形算法的支持
  因此,MiniGUI非常適合編寫嵌入式圖形用戶界面應用程序。
  1.3 用戶界面設計
  數字加密電話系統需要顯示當前的系統狀態和具體內容,以此進行系統與用戶之間的信息交流,因此對界面的穩定性和實時性要求較高。本系統將整個屏幕分為3個區域,即狀態區域、Logo與時間顯示區域和主顯示區域,如圖2所示。狀態顯示區主要表示當前系統的工作狀態和設備的狀態。比如是掛機態還是摘機態,是加密還是非加密態,是否插入U盤,當前的數據傳輸率為多少等。不同的狀態需要用不同的圖片來顯示。從一個狀態過渡到另一個狀態,需要用一個動畫來表示。主顯示區域主要顯示表示當前系統的工作情況的動畫或文字提示。比如表示普通語音電話的動畫、表示正在加密傳輸的動畫,也可以顯示其他信息,如系統功能選擇界面、選文件界面、日志管理界面等。Logo及時間顯示區顯示公司的Logo與當前系統時間。對于本系統的界面設計來說,最重要的是各種動畫的顯示要流暢。
  基于MiniGUI的嵌入式系統用戶界面關鍵問題的解決方案
  2 實現GUI時存在的兩個問題
  本系統GUI的實現問題主要是各種圖片的顯示、動畫和選擇功能界面的實現。圖片的顯示方法很簡單,因此,在下面只介紹動畫和選擇功能界面的實現方法及存在的問題。
  2.1 動畫的實現方法及存在的問題
  MiniGUI為實現動畫,已提供了animation控件,用animation控件實現動畫的過程非常簡單:
  ①準備動畫文件,文件格式應該是GIF格式,GIF格式的動畫文件可以用Flash和PhotoShop生成
  ②用函數CreateAnimationFromGIF89aFile()讀入GIF文件
  ③用CreateWindow()創建動畫顯示窗口
  ④用SendMessage()函數控制動畫,該函數的第2個參數為ANM_STARTPLAY表示啟動動畫,參數為ANM_PLAYSTOP表示暫停動畫。也可以用函數SendMessage(GetDlgItem(hInitface,IDC_MAINANIMATION),ANM_SETANIMATION,0,(LPARAM)anim)實現更換動畫文件。但是,在嵌入式環境下,使用該方法播放動畫時,在狀態顯示區和主顯示區內都產生嚴重的抖動現象。而且屏幕越大抖動就越明顯,分辨率為480×640時的抖動現象比240×320時更明顯。減少動畫的幀數或延長每一幀的播放時間,抖動仍然存在,嚴重影響屏幕的顯示效果。
  2.2 功能選擇界面的實現及存在的問題
  功能選擇界面一般由多個圖片來組成,各表示不同的系統功能,用上下左右鍵選擇不同的功能,按Enter鍵運行相應程序,即打開另一個窗口,完成相應功能。當關閉窗口時重新顯示功能顯示界面。為區別被選中功能和未選中功能,放大或下沉顯示當前被選中的功能圖片,而前一個被選中功能圖片恢復成原來的大小,如圖3所示。每次用上下左右鍵選擇功能時和關閉功能窗口時,都要重新刷新背景,并重繪窗口客戶區的各個圖片。因為MiniGUI不保存被覆蓋區域的內容,因此在MSG_PAINT消息中需要重繪的內容較多,重繪圖片的常用方法是用FillB-oxWithBitmap()函數填充相應圖片區域,但是這種方法加重了屏幕刷新負載,引起屏幕明顯地閃爍。
柄,STM_SETIMAGE,pngmap,0)函數更換圖片的方式實現較好。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
百家乐官网群博乐吧blb8v| 都坊百家乐官网的玩法技巧和规则 | 真人百家乐官网现金游戏| 百家乐影院| 24山认龙立向| 百家乐官网技术交流群| 百家乐庄闲必胜手段| 678百家乐官网博彩娱乐场| 澳门新濠天地| 大发888游戏在线客服| 金宝博百家乐娱乐城| 网上的百家乐官网怎么才能赚钱| 鄂托克前旗| 博久网| 德州扑克过牌| 百家乐园首选去澳| 速博百家乐官网的玩法技巧和规则| 百家乐官网预测神法| 六合彩脑筋急转弯| 全讯网下载| 钱柜百家乐娱乐城| 百家乐是不是有技巧| 金三角百家乐官网的玩法技巧和规则| 七胜百家乐官网娱乐城总统网上娱乐城大都会娱乐城赌场 | 百家乐官网博赌场| 试玩百家乐官网网| 网上百家乐官网分析软件| 伊川县| 三宝娱乐| 威尼斯人娱乐城信誉怎样| 百家乐永利娱乐平台| 视频百家乐游戏| 百家乐的赚钱原理| 百家乐官网一年诈骗多少钱| 赌博百家乐官网秘籍| 评测百家乐官网博彩网站| E乐博百家乐官网现金网| 百家乐官网游戏怎样玩| 百家乐官网桩闲落注点| 百家乐官网赢赌场百家乐官网| 百家乐官网断缆赢钱|