ARM的USB連機通訊
一、實(shí)驗目的
學(xué)習USB 相關(guān)函數的使用,編寫(xiě)一段程序按指定的鍵盤(pán)按鍵可以實(shí)現連接,斷開(kāi)USB。
學(xué)會(huì )利用操作系統的繪圖API 函數顯示一個(gè)真彩色的位圖圖片。
二、實(shí)驗內容
編寫(xiě)一段程序按指定的鍵盤(pán)按鍵可以實(shí)現連接,斷開(kāi)USB,并在屏幕上顯示相關(guān)的信
息。連接USB 的時(shí)候,可以從PC 機通過(guò)USB 斷口下載程序到嵌入式開(kāi)發(fā)板中,也可從嵌
入式開(kāi)發(fā)板上傳文件至PC 機。
三、預備知識
1、用ARM SDT 2.5 集成開(kāi)發(fā)環(huán)境,編寫(xiě)和調試程序的基本過(guò)程。
2、基于操作系統的應用程序的框架結構。
3、會(huì )使用Source Insight 3 編輯C 語(yǔ)言源程序
4、操作系統的繪圖API 函數和繪圖設備上下文(DC)的使用
5、會(huì )使用消息循環(huán)響應鍵盤(pán)消息
四、實(shí)驗設備及工具(包括軟件調試工具)
硬件:ARM 嵌入式開(kāi)發(fā)板、用于ARM7TDMI 的JTAG 仿真器、PC 機Pentumn100 以
上
軟件:PC 機操作系統win98、ARM SDT 2.51 集成開(kāi)發(fā)環(huán)境、仿真器驅動(dòng)程序、Source
Insight 3.0、超級終端通訊程序、USB 下載程序
五、實(shí)驗步驟
1、在A(yíng)RM SDT 2.51 中,使用實(shí)驗一中創(chuàng )建好的模板,新建一個(gè)項目work1。把操作
系統的所需要的頭文件(*.h)和庫文件(*.alf)加入工程中。
2、用Source Insight 3 創(chuàng )建一個(gè)工程,把work1 中的C 語(yǔ)言源文件文件加入。
3、打開(kāi)Main.c 文件,在Main_Task 任務(wù)中加入代碼,使系統啟動(dòng)以后,顯示提示按鍵
連接USB 的文字。
4、添加鍵盤(pán)消息響應函數,當按下按鍵時(shí),進(jìn)入USB 連接狀態(tài),這時(shí)暫停所有的任務(wù),
自己編寫(xiě)鍵盤(pán)掃描程序,等待按取消鍵退出USB 連接狀態(tài)。進(jìn)入USB 連接的時(shí)候,要顯示
一個(gè)真彩色的位圖圖片作為提示信息。退出連接的時(shí)候,取消顯示圖片,恢復顯示提示按鍵
連接USB 的文字。
提示:
⑴ 調用EnterUsbConnect 函數進(jìn)入USB 的連接狀態(tài),這時(shí)函數將自動(dòng)暫停任務(wù)調
度。所以,在調用EnterUsbConnect 之前要先刷新液晶屏的顯示,更改屏幕的提示信息。
繪圖完成以后要使用OSTimeDly,以便更新顯示。
⑵ 使用ShowBmp 函數可以顯示指定文件名的真彩色的位圖圖片
⑶ 因為調用EnterUsbConnect 函數以后系統已經(jīng)進(jìn)入非多任務(wù)狀態(tài),與多任務(wù)相
關(guān)的函數(比如::OSTimeDly)就不能使用,否則將導致系統死鎖。
⑷ 等待鍵盤(pán)掃描也應該調用它的非多任務(wù)版本GetNoTaskKey()。如果有按鍵按
下,此函數立即返回,否則,系統無(wú)限等待。
⑸ 使用ExitUsbConnect 函數退出USB 連接狀態(tài),系統的多任務(wù)將自動(dòng)恢復。
5、用ARM SDT 2.5 編譯、下載并調試上述程序,檢查運行結果
6、生成發(fā)行版本的.bin 文件,通過(guò)USB 下載到嵌入式開(kāi)發(fā)板中,運行并檢查輸出結果
評論