一,、實(shí)驗(yàn)?zāi)康?/span>
學(xué)習(xí)USB 相關(guān)函數(shù)的使用,,編寫(xiě)一段程序按指定的鍵盤(pán)按鍵可以實(shí)現(xiàn)連接,斷開(kāi)USB,。
學(xué)會(huì)利用操作系統(tǒng)的繪圖API 函數(shù)顯示一個(gè)真彩色的位圖圖片。
二,、實(shí)驗(yàn)內(nèi)容
編寫(xiě)一段程序按指定的鍵盤(pán)按鍵可以實(shí)現(xiàn)連接,,斷開(kāi)USB,并在屏幕上顯示相關(guān)的信
息,。連接USB 的時(shí)候,,可以從PC 機(jī)通過(guò)USB 斷口下載程序到嵌入式開(kāi)發(fā)板中,也可從嵌
入式開(kāi)發(fā)板上傳文件至PC 機(jī),。
三,、預(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ǔ)言源程序
4,、操作系統(tǒng)的繪圖API 函數(shù)和繪圖設(shè)備上下文(DC)的使用
5、會(huì)使用消息循環(huán)響應(yīng)鍵盤(pán)消息
四,、實(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)程序、SourceInsight 3.0,、超級(jí)終端通訊程序,、USB 下載程序
五、實(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、打開(kāi)Main.c 文件,,在Main_Task 任務(wù)中加入代碼,,使系統(tǒng)啟動(dòng)以后,顯示提示按鍵
連接USB 的文字,。
4,、添加鍵盤(pán)消息響應(yīng)函數(shù),當(dāng)按下按鍵時(shí),,進(jìn)入U(xiǎn)SB 連接狀態(tài),,這時(shí)暫停所有的任務(wù),自己編寫(xiě)鍵盤(pán)掃描程序,,等待按取消鍵退出USB 連接狀態(tài),。進(jìn)入U(xiǎn)SB 連接的時(shí)候,要顯示一個(gè)真彩色的位圖圖片作為提示信息,。退出連接的時(shí)候,,取消顯示圖片,,恢復(fù)顯示提示按鍵連接USB 的文字。
提示:
⑴ 調(diào)用EnterUsbConnect 函數(shù)進(jìn)入U(xiǎn)SB 的連接狀態(tài),,這時(shí)函數(shù)將自動(dòng)暫停任務(wù)調(diào)度,。所以,在調(diào)用EnterUsbConnect 之前要先刷新液晶屏的顯示,,更改屏幕的提示信息,。繪圖完成以后要使用OSTimeDly,以便更新顯示,。
⑵ 使用ShowBmp 函數(shù)可以顯示指定文件名的真彩色的位圖圖片
⑶ 因?yàn)檎{(diào)用EnterUsbConnect 函數(shù)以后系統(tǒng)已經(jīng)進(jìn)入非多任務(wù)狀態(tài),,與多任務(wù)相關(guān)的函數(shù)(比如:OSTimeDly)就不能使用,否則將導(dǎo)致系統(tǒng)死鎖,。
⑷ 等待鍵盤(pán)掃描也應(yīng)該調(diào)用它的非多任務(wù)版本GetNoTaskKey(),。如果有按鍵按下,此函數(shù)立即返回,,否則,,系統(tǒng)無(wú)限等待。
⑸ 使用ExitUsbConnect 函數(shù)退出USB 連接狀態(tài),,系統(tǒng)的多任務(wù)將自動(dòng)恢復(fù),。
5、用ARM SDT 2.5 編譯,、下載并調(diào)試上述程序,,檢查運(yùn)行結(jié)果
6、生成發(fā)行版本的.bin 文件,,通過(guò)USB 下載到嵌入式開(kāi)發(fā)板中,,運(yùn)行并檢查輸出結(jié)果