小凌派-RK2206開發(fā)板:UART控制案例
一、簡介
通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。它將要傳輸?shù)?a href="http://ttokpm.com/soft/special/" target="_blank">資料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號轉(zhuǎn)成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連結(jié)上。
本文基于瑞芯微RK2206芯片 + OpenHarmony系統(tǒng),通過uart控制實現(xiàn)PC和開發(fā)板的互相通信功能。
二、硬件電路設(shè)計
模塊整體硬件實物圖如下圖所示。電路比較簡單,這邊不對電路進(jìn)行說明。
圖1電路實物圖圖
三、程序設(shè)計
UART控制主要分為UART初始化和UART收發(fā)。
1、UART初始化
這部分代碼為uart初始化的代碼。首先用 LzUartDeinit() 函數(shù)將串口釋放掉;其次用PinctrlSet()將GPIO0_PB6復(fù)用為UART0_RX_M0,GPIO0_PB7復(fù)用為UART0_TX_M0。最后調(diào)用 LzUartInit()函數(shù)初始化uart。源代碼如下所示:
2、UART發(fā)送
具體uart寫操作如下:
3、UART接收
具體uart讀操作如下:
四、編譯過程
1、搭建和下載源代碼
我已將OpenHarmony源代碼上傳到Gitee社區(qū)中,大家可以根據(jù)以下網(wǎng)址下載。
https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts
本文使用的案例網(wǎng)址如下:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/tree/master/vendor/lockzhiner/rk2206/samples/b6_uart
2、打開sdk下面路徑的文件
/vendor/lockzhiner/rk2206/samples/b6_uart/uart_example.c
3、修改編譯腳本
修改 vendor/lockzhiner/rk2206/sample 路徑下 BUILD.gn 文件,指定 uart_example 參與編譯。
"./b6_uart:uart_example",
修改 device/lockzhiner/rk2206/sdk_liteos 路徑下 Makefile 文件,添加 -luart_example 參與編譯。
hardware_LIBS = -lhal_iothardware -lhardware -luart_example
3、編譯固件
hb set -root .
hb set
hb build -f
4、燒寫固件
請參考Gitee網(wǎng)址的說明手冊(“燒錄打印”章節(jié)):https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/blob/master/device/rockchip/README_zh.md
五、實驗結(jié)果
程序編譯燒寫到開發(fā)板后,按下開發(fā)板的RESET按鍵,通過串口軟件查看日志如下:
-
PC
+關(guān)注
關(guān)注
9文章
2057瀏覽量
153948 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4907瀏覽量
97079 -
瑞芯微
+關(guān)注
關(guān)注
23文章
395瀏覽量
51207 -
串口軟件
+關(guān)注
關(guān)注
0文章
6瀏覽量
1662 -
RK2206
+關(guān)注
關(guān)注
0文章
34瀏覽量
1756
發(fā)布評論請先 登錄
相關(guān)推薦
評論