南昌航空大學實驗報告
二0二1年11月21日
課程名稱: 感知層編程實驗 實驗名稱:OSAL基礎編程
指導教師評定: 簽名:
實驗七 OSAL基礎編程
實驗目的:
- 加深和鞏固學生對於osal編程方法的理解和掌握
- 學生通過本實驗進一步理解和掌握osal編程方法
- 掌握osal、hal相關api的使用
- 提高學生的上機和編程過程中處理具體問題的能力
實驗要求:
- 實驗要求自己獨立的完成;
- 編寫和調試過程中出現的問題要做好記錄,並事后總結到報告中
- 實驗程序調試完成后, 用給定的平台進行測試,由老師檢查測試結果,並給予相應的成績
- 實驗完成后,要上交實驗報告。
實驗內容:
- 利用給出的純凈OSAL代碼,根據自身板子的LED和Key的電路圖,對zStack中LED和Key進行配置;
- 調通已給代碼,修改key0、key1。Key0實現對led0的控制,key1實現對led1的控制;
添加一個新的任務,周期性的翻轉LED燈。
實驗環境:
集成開發環境為IAR
實驗過程:
這次實驗主要考察的是osal的理解與使用,先將純凈的OSAL源碼導入IRA中,再根據實驗要求去更改老師給的純凈OSAL源碼,主要是把那幾個錯誤的引腳,中斷使能以及按鍵對應的口給改正,再微調task1與task2即可,再連接板子燒錄,觀察實驗現象。
實驗代碼:
附錄的zip壓縮包。
實驗結果:
按下按鍵key1,可實現LED1燈的亮滅,按下按鍵key2,也可以實現LED2燈的亮滅,同時,每隔1sLED1與LED2燈實現自動翻轉。
實驗總結:
碰到的主要問題是難以去搞懂文件里的每個模塊,每個函數的意義,琢磨它們要花比較多的時間以及去找到並更改一些錯誤的引腳等等也花了很多時間。弄懂后寫起來還是不算很難的。
通過本次實驗我進一步理解和掌握osal編程方法,掌握osal、hal相關api的使用,也提高了自我學習能力以及代碼編改能力。
附錄: