|
鴻蒙OS 用戶程序和驅(qū)動交互代碼,
用戶程序和驅(qū)動交互代碼 UART驅(qū)動成功初始化后,會創(chuàng)建/dev/uartdev-5設(shè)備節(jié)點,通過設(shè)備節(jié)點與UART驅(qū)動交互的代碼如下: 1. #include<stdlib.h> 2. #include<unistd.h> 3. #include<fcntl.h> 4. #include“hdf_log.h“ 5. 6. #defineHDF_LOG_TAG “hello_uart“ 7. #defineINFO_SIZE 16 8. 9. int main(void) 10. { 11. int ret; 12. int fd; 13. const char info[INFO_SIZE] = {“ HELLOUART! “}; 14. 15. fd = open(“/dev/uartdev-5“,O_RDWR); 16. IF (fd < 0) { 17. HDF_LOGE(“hello_uart uartdev-5open faiLED %d“, fd); 18. return -1; 19. } 20. ret = write(fd, info, INFO_SIZE); 21. if (ret != 0) { 22. HDF_LOGE(“hello_uart writeuartdev-5 ret is %d“, ret); 23. } 24. ret = close(fd); 25. if (ret != 0) { 26. HDF_LOGE(“hello_uart uartdev-5close failed %d“, fd); 27. return -1; 28. } 29. return ret; 30. } 在build/lite/product/ipcamera_hi3516dv300.json產(chǎn)品配置的hdf子系統(tǒng)下增加hello_uart_sample組件,代碼如下: 1.已復制 { 2. “subsystem“: [ 3. { 4. “name“: “hdf“, 5. “component“: [ 6. { “name“:“hdf_sample“, “dir“:“//vendor/huawei/hdf/sample/platform/uart:hello_uart_sample“,“features“:[] } 8. } } 如上代碼均為示例代碼,完整代碼可以在vendor/huawei/hdf/sample查看。 示例代碼默認不參與編譯,需要手動添加到編譯腳本中。
編譯和燒寫
圖 1 連接串口圖
34.png (83.59 KB, 下載次數(shù): 0)
下載附件 保存到相冊
1 小時前 上傳
- 單擊Serial port打開串口。
- 輸入“com11“串口編號并連續(xù)輸入回車直到串口顯示“hisillicon“。
- 單板初次啟動或修改啟動參數(shù),請進入步驟2,否則進入步驟3。
(單板初次啟動必選)修改U-boot的bootcmd及bootargs內(nèi)容:該步驟為固化操作,若不修改參數(shù)只需執(zhí)行一次。每次復位單板均會自動進入系統(tǒng)。 U-boot引導程序默認會有2秒的等待時間,用戶可使用回車打斷等待并顯示“hisillicon“,通過
reset命令可再次啟動系統(tǒng)。
36.png (64.53 KB, 下載次數(shù): 0)
下載附件 保存到相冊
1 小時前 上傳
輸入
“reset”指令并回車,重啟單板,啟動成功如下圖,輸入回車串口顯示OHOS字樣。
37.png (92.74 KB, 下載次數(shù): 0)
下載附件 保存到相冊
1 小時前 上傳 根目錄下,在命令行輸入指令“
./bin/hello_uart”執(zhí)行寫入的demo程序,顯示成功結(jié)果如下圖所示
38.png (11.83 KB, 下載次數(shù): 0)
下載附件 保存到相冊
1 小時前 上傳
作者:瘋殼 注:文檔和視頻中所有的圖片及代碼截圖皆為示意圖,具體以HarmonyOS官網(wǎng)發(fā)布內(nèi)容為準。 |
|