色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          繪圖的API函數(shù)

          作者: 時(shí)間:2011-11-08 來(lái)源:網(wǎng)絡(luò) 收藏

          一、 實(shí)驗(yàn)?zāi)康?BR>學(xué)習(xí)使用嵌入式系統(tǒng)的繪圖API 函數(shù)。理解繪圖設(shè)備上下文(DC)在多任務(wù)操作系統(tǒng)
          中的作用。會(huì)使用繪圖設(shè)備上下文(DC)在屏幕上繪制一個(gè)圓角矩形和一個(gè)圓。了解繪制
          動(dòng)畫(huà)防止閃爍的基本原理,可以實(shí)現(xiàn)無(wú)閃爍的動(dòng)畫(huà)。
          二、 實(shí)驗(yàn)內(nèi)容
          本次實(shí)驗(yàn)通過(guò)使用嵌入式系統(tǒng)的繪圖API 函數(shù),首先,在屏幕上繪制一個(gè)圓角矩形和
          一個(gè)整圓。然后,再在屏幕上無(wú)閃爍的繪制一個(gè)移動(dòng)的正弦波。
          三、 預(yù)備知識(shí)
          1、用ARM SDT 2.5 集成開(kāi)發(fā)環(huán)境,編寫(xiě)和調(diào)試程序的基本過(guò)程。
          2、基于操作系統(tǒng)的應(yīng)用程序的框架結(jié)構(gòu)。
          3、會(huì)使用Source Insight 3 編輯C 語(yǔ)言源程序
          四、 實(shí)驗(yàn)設(shè)備及工具(包括軟件調(diào)試工具)
          硬件:ARM 嵌入式開(kāi)發(fā)板、用于ARM7TDMI 的JTAG 仿真器、PC 機(jī)Pentumn100 以

          軟件:PC 機(jī)操作系統(tǒng)win98、ARM SDT 2.51 集成開(kāi)發(fā)環(huán)境、仿真器驅(qū)動(dòng)程序、Source
          Insight 3
          五、 實(shí)驗(yàn)步驟
          1、在ARM SDT 2.51 中,使用實(shí)驗(yàn)一中創(chuàng)建好的模板,新建一個(gè)項(xiàng)目work1。把操作
          系統(tǒng)的所需要的頭文件(*.h)和庫(kù)文件(*.alf)加入工程中。
          2、用Source Insight 3 創(chuàng)建一個(gè)工程,把work1 中的C 語(yǔ)言源文件文件加入。
          3、編輯Main.c 文件,在Main_Task 任務(wù)中加入代碼。使用操作系統(tǒng)的繪圖API 函數(shù),
          繪制出如圖所示的圖形。

          提示:
          ⑴ 繪圖必須通過(guò)使用繪圖設(shè)備上下文(DC)來(lái)實(shí)現(xiàn)。繪圖設(shè)備上下文(DC)中
          包括了與繪圖相關(guān)的信息,比如:畫(huà)筆的寬度、繪圖的原點(diǎn)等等。這樣,在多任務(wù)系統(tǒng)
          中,不同的任務(wù)通過(guò)不同的繪圖設(shè)備上下文(DC)繪圖才不會(huì)互相影響。
          ⑵ 繪制整圓可以用Circle 函數(shù),繪制直線用Line 函數(shù),繪制圓弧用ArcTo 函數(shù)。
          調(diào)試的過(guò)程中可以在每條的繪圖函數(shù)之后調(diào)用OSTimeDly()函數(shù),使系統(tǒng)更新顯示,輸
          出到液晶屏上,具體的細(xì)節(jié)原因見(jiàn)步驟5 的提示。
          ⑶ 為方便繪圖,可使用SetDrawOrg 函數(shù)設(shè)置繪圖的原點(diǎn)。

          ⑷ 因?yàn)楸敬螌?shí)驗(yàn)不用系統(tǒng)的字符顯示,所以,可以去掉Main()函數(shù)中LoadFont()
          函數(shù),以節(jié)省系統(tǒng)啟動(dòng)的時(shí)間。
          4、用ARM SDT 2.5 編譯、下載并調(diào)試上述程序,檢查運(yùn)行結(jié)果
          5、在屏幕上無(wú)閃爍的繪制一個(gè)移動(dòng)的正弦波。
          提示:
          ⑴ 在操作系統(tǒng)中,液晶顯示屏的刷新是通過(guò)Lcd_Fresh_Task 任務(wù)完成的。繪圖
          首先是在繪圖緩沖區(qū)中完成的,然后,系統(tǒng)自動(dòng)(也可以通過(guò)設(shè)置繪圖設(shè)備上下文屏,
          不讓系統(tǒng)自動(dòng)刷新)的向Lcd_Fresh_Task 發(fā)送的更新消息。其流程圖如圖所示。

          ⑵ 因?yàn)槔L圖是在后臺(tái)進(jìn)行的,繪制完成之后,再更新到液晶屏上,所以,在繪圖
          的時(shí)候不用擔(dān)心反覆的擦除屏幕會(huì)引起屏幕的閃爍,這樣,可以很方便的實(shí)現(xiàn)動(dòng)畫(huà)無(wú)閃
          爍的顯示。
          ⑶ 繪制完一次圖形以后,必須要使用OSTimeDly()給出一定時(shí)間的延時(shí)(推薦用
          200),同時(shí),使Main_Task 任務(wù)主動(dòng)讓出對(duì)CPU 的控制權(quán),使Lcd_Fresh_Task 任務(wù)可
          以完成刷新。
          ⑷ 因?yàn)槔L圖需要使用sin()函數(shù),所以需要在main.c 中加入#include math.h>。
          ⑸ 為方便繪圖,可使用SetDrawOrg 函數(shù)設(shè)置繪圖的原點(diǎn)。
          6、用ARM SDT 2.5 編譯、下載并調(diào)試上述程序,檢查運(yùn)行結(jié)果
          7、生成發(fā)行版本的.bin 文件,通過(guò)USB 下載到嵌入式開(kāi)發(fā)板中,運(yùn)行并檢查輸出結(jié)。



          關(guān)鍵詞: API函數(shù)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉