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


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

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

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

圖2-2

圖2-3

圖2-4
2.使用HUAWEI DevEco Device Tool燒錄二進制文件到開發(fā)板
使用HUAWEI DevEco Device Tool燒錄二進制文件到開發(fā)板的具體操作步驟如下。
(1)單擊VS Code編輯器底部狀態(tài)欄的“燒錄”按鈕,此按鈕被按下后,終端窗口將會輸出一些提示信息,如圖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 通過“串口”查看程序的運行結果
在燒錄成功后,使用串口調(diào)試工具或HUAWEI DevEco Device Tool集成的串口工具均可以查看程序的運行結果。使用串口助手查看日志的方法見1.7節(jié)。
使用HUAWEI DevEco Device Tool查看串口日志的操作步驟如下。
(1)單擊VS Code編輯器底部狀態(tài)欄的“串口”按鈕,終端窗口會輸出打開串口相關的提問。
(2)在“Pick the one for openning:”提問后,輸入開發(fā)板實際的串口號,例如COM9。
(3)按照實際的串口設備參數(shù)輸入接下來的幾個參數(shù),在“Set endline characters as'\r\n'?”提問后輸入1,如圖2-7所示。

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

圖2-8
- 物聯(lián)網(wǎng)概論(第2版)
- 互聯(lián)網(wǎng)安全的40個智慧洞見:2014年中國互聯(lián)網(wǎng)安全大會文集
- 網(wǎng)絡安全技術與解決方案(修訂版)
- Socket.IO Real-time Web Application Development
- Metasploit Penetration Testing Cookbook
- Bonita Open Solution 5.x Essentials
- 從實踐中學習手機抓包與數(shù)據(jù)分析
- 大型企業(yè)微服務架構實踐與運營
- 5G技術核心與增強:從R15到R17
- 5G時代的大數(shù)據(jù)技術架構和關鍵技術詳解
- 一本書讀懂TCP/IP
- Selenium WebDriver 3 Practical Guide
- 精通SEO:100%網(wǎng)站流量提升密碼
- SRv6網(wǎng)絡部署指南
- Intelligent Mobile Projects with TensorFlow