- HarmonyOS IoT設備開發實戰
- 江蘇潤和軟件股份有限公司
- 1124字
- 2021-10-15 16:57:42
外設控制篇
第2章 用HarmonyOS控制I/O設備
2.1 從編寫Hello World開始
本節將會介紹如何使用C語言為開發板編寫一個Hello World程序,如何將編譯好的二進制文件燒錄到開發板上,以及如何通過串口查看程序的輸出結果。
2.1.1 編寫Hello World程序源代碼
1.創建名為hello.c的文件
在OpenHarmony源代碼的applications/sample/wifi-iot/app/startup目錄下,創建名為hello.c的文件:


在代碼實例中,ohos_init.h 是 HarmonyOS 特有的頭文件。SYS_RUN 是ohos_init.h中定義的一個宏,它的作用是讓一個函數在系統啟動時自動執行。
2.修改BUILD.gn構建腳本
修改OpenHarmony源代碼的applications/sample/wifi-iot/app/startup目錄下的BUILD.gn文件,將內容修改為:

2.1.2 將源代碼編譯成二進制文件
在OpenHarmony源代碼的頂層目錄下,執行python build.py wifiiot命令,開始編譯。在編譯完成后,二進制文件將會生成到out/wifiiot子目錄下。
2.1.3 將二進制文件燒錄到開發板
1.為HUAWEI DevEco Device Tool配置開發板
在第一次燒錄之前,需要先配置開發板。配置開發板的操作步驟如下。
(1)單擊VS Code編輯器底部狀態欄的“開發板:None”按鈕,打開開發選擇下拉菜單,如圖2-1所示(或單擊圖中左側標記1處的“DEVECO TASKS”菜單,再單擊圖中標記2處的“配置”按鈕)。

圖2-1
在彈出的下拉菜單中選擇“Hi3861”選項,進入Hi3861開發板配置頁面,如圖2-2所示。
(2)在 Hi3861 開發板配置頁面中,單擊“燒錄”按鈕,進入燒錄配置頁面,如圖2-3所示。
(3)在燒錄配置頁面的“端口號”下拉菜單中,根據設備管理器中顯示的串口設備號選擇相應的串口。例如,圖2-3中的“COM9”。
(4)把右側的滾動條下拉到“燒錄文件”選區,單擊右側的文件圖標選擇待燒錄文件。在彈出的文件選擇對話框中,選擇此前編譯生成的Hi3861_wifiiot_app_allinone.bin 文件,并在“方式”下拉菜單中選擇“HiBurn”選項,如圖2-4所示。

圖2-2

圖2-3

圖2-4
2.使用HUAWEI DevEco Device Tool燒錄二進制文件到開發板
使用HUAWEI DevEco Device Tool燒錄二進制文件到開發板的具體操作步驟如下。
(1)單擊VS Code編輯器底部狀態欄的“燒錄”按鈕,此按鈕被按下后,終端窗口將會輸出一些提示信息,如圖2-5所示。
(2)在終端窗口輸出“Please tap the Reset-Key to reset the board”后,按下核心板的復位按鈕,終端窗口將會有燒錄進度和過程日志輸出。
(3)一段時間后,若終端窗口輸出“Succeed to load and write image”,則表示燒錄成功,如圖2-6所示。

圖2-5

圖2-6
2.1.4 通過“串口”查看程序的運行結果
在燒錄成功后,使用串口調試工具或HUAWEI DevEco Device Tool集成的串口工具均可以查看程序的運行結果。使用串口助手查看日志的方法見1.7節。
使用HUAWEI DevEco Device Tool查看串口日志的操作步驟如下。
(1)單擊VS Code編輯器底部狀態欄的“串口”按鈕,終端窗口會輸出打開串口相關的提問。
(2)在“Pick the one for openning:”提問后,輸入開發板實際的串口號,例如COM9。
(3)按照實際的串口設備參數輸入接下來的幾個參數,在“Set endline characters as'\r\n'?”提問后輸入1,如圖2-7所示。

圖2-7
(4)按下開發板主板上的復位按鍵,讓程序重新開始運行。
此時,會看到終端窗口有日志輸出,如圖2-8所示。
注意:下次燒錄前,需要關閉終端窗口集成的串口工具,否則會因為串口調試窗口占用串口設備,導致燒錄任務無法成功。

圖2-8
- 物聯網之魂:物聯網協議與物聯網操作系統
- 網絡故障現場處理實踐(第4版)
- HCNA網絡技術
- Windows Server 2003 Active Directory Design and Implementation: Creating, Migrating, and Merging Networks
- SSL VPN : Understanding, evaluating and planning secure, web/based remote access
- Metasploit Penetration Testing Cookbook
- Learning Swift(Second Edition)
- Microsoft Dynamics CRM 2011 Applications(MB2-868) Certification Guide
- 邁向自智網絡時代:IP自動駕駛網絡
- Master Apache JMeter:From Load Testing to DevOps
- INSTANT LinkedIn Customization How-to
- Microsoft Power Platform Enterprise Architecture
- 5G技術核心與增強:從R15到R17
- 計算機通信網絡安全
- 新媒體交互藝術