0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

小凌派-RK2206開發(fā)板:UART控制案例

福州市凌睿智捷電子有限公司 ? 2022-06-14 11:12 ? 次閱讀

小凌派-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)行說明。

2403006e-e735-11ec-a2f4-dac502259ad0.png

圖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。源代碼如下所示:


1/*釋放UART設(shè)備*/

2.LzUartDeinit(UART_ID);

3.

4./*配置UART*/

5.attr.baudRate=115200;

6.attr.dataBits=UART_DATA_BIT_8;

7.attr.pad=FLOW_CTRL_NONE;

8.attr.parity=UART_PARITY_NONE;

9.attr.rxBlock=UART_BLOCK_STATE_NONE_BLOCK;

10.attr.stopBits=UART_STOP_BIT_1;

11.attr.txBlock=UART_BLOCK_STATE_NONE_BLOCK;

12.

13./*TX和RX引腳配置*/

14.PinctrlSet(GPIO0_PB6,MUX_FUNC2,PULL_KEEP,DRIVE_LEVEL2);

15.PinctrlSet(GPIO0_PB7,MUX_FUNC2,PULL_KEEP,DRIVE_LEVEL2);

16.

17./*初始化UART*/

18.ret=LzUartInit(UART_ID,&attr);

19.if(ret!=LZ_HARDWARE_SUCCESS)

20.{

21.printf("%s,%d:LzUartInit(%d)failed!\n",__FILE__,__LINE__,ret);

22. return;

23.}


2、UART發(fā)送

具體uart寫操作如下:

1./*控制UART發(fā)送字符串*/

2.ret=LzUartWrite(UART_ID,str,strlen(str));

3.if(ret!=LZ_HARDWARE_SUCCESS)

4.{

5. printf("%s,%d:LzUartWrite(%d)failed!\n",__FILE__,__LINE__,ret);

6. return;

7.}


3、UART接收

具體uart讀操作如下:

8./*控制UART發(fā)送字符串*/

9.ret=LzUartRead(UART_ID,str,10);

10.if(ret!=LZ_HARDWARE_SUCCESS)

11.{

12. printf("%s,%d:LzUartRead(%d)failed!\n",__FILE__,__LINE__,ret);

13. return;

14.}


四、編譯過程

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按鍵,通過串口軟件查看日志如下:

HelloWorld!

HelloWorld!

HelloWorld!

HelloWorld!

...



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 小凌派
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    1187
收藏 人收藏

    評論

    相關(guān)推薦

    ARM開發(fā)板與樹莓的比較

    ARM開發(fā)板和樹莓都是基于ARM架構(gòu)的單板計算機,它們在教育、工業(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用。 硬件配置 ARM開發(fā)板和樹莓的硬件
    的頭像 發(fā)表于 11-05 11:11 ?129次閱讀

    迅為iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認(rèn)證

    迅為iTOP-RK3568/RK3588開發(fā)板獲麒麟軟件適配認(rèn)證
    的頭像 發(fā)表于 10-18 14:56 ?397次閱讀
    迅為iTOP-<b class='flag-5'>RK</b>3568/<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>獲麒麟軟件適配認(rèn)證

    【「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」閱讀體驗】+初體驗1

    愛好者沒有bug,「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」大賣吧!哦對了 你們的開發(fā)板是怎么準(zhǔn)備的呢?【小
    發(fā)表于 09-18 18:30

    【「OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板」閱讀體驗】+初體驗2連發(fā)發(fā)

    啥也不說先上圖 對于《OpenHarmony開發(fā)與實踐 | 基于紅莓RK2206開發(fā)板》這本書的熱愛,簡直就像夏日里的一股清泉,讓人忍不住想要一探究竟! 這本書的排布,簡直就是一場視覺盛宴,章節(jié)
    發(fā)表于 09-18 18:01

    樹莓和arm開發(fā)板的區(qū)別

    樹莓(Raspberry Pi)和ARM開發(fā)板都是基于ARM架構(gòu)的微型計算機,但它們之間存在一些關(guān)鍵區(qū)別。 一、歷史背景 樹莓(Raspberry Pi) 樹莓是由英國樹莓
    的頭像 發(fā)表于 08-30 15:36 ?695次閱讀

    linux開發(fā)板與樹莓的區(qū)別

    定義和用途 Linux開發(fā)板:Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式開發(fā)板,通常用于工業(yè)自動化、物聯(lián)網(wǎng)、智能家居等領(lǐng)域。 樹莓:樹莓
    的頭像 發(fā)表于 08-30 15:34 ?632次閱讀

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發(fā)板

    RK3588!黑神話悟空,啟動?-迅為電子RK3588開發(fā)板
    的頭像 發(fā)表于 08-30 14:13 ?469次閱讀
    <b class='flag-5'>RK</b>3588!黑神話悟空,啟動?-迅為電子<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>

    HZ-CORE-RK3576開發(fā)板

    HZ-CORE-RK3576開發(fā)板
    的頭像 發(fā)表于 08-29 13:58 ?298次閱讀
    HZ-CORE-<b class='flag-5'>RK</b>3576<b class='flag-5'>開發(fā)板</b>

    新一代低價開發(fā)板芯片RK3562來啦! — 觸覺智能RK3562開發(fā)板

    最近我收到了個一套開發(fā)板,有核心,開發(fā)板,還有個7英寸觸摸屏幕。這些東西,都是一家叫做觸覺智能的公司做的基于瑞芯微RK3562的產(chǎn)品。RK
    的頭像 發(fā)表于 08-15 17:42 ?990次閱讀
    新一代低價<b class='flag-5'>開發(fā)板</b>芯片<b class='flag-5'>RK</b>3562來啦! — 觸覺智能<b class='flag-5'>RK</b>3562<b class='flag-5'>開發(fā)板</b>

    探索巔峰性能 | 迅為RK3588開發(fā)板深度剖析

    探索巔峰性能 | 迅為RK3588開發(fā)板深度剖析
    的頭像 發(fā)表于 08-12 14:07 ?718次閱讀
    探索巔峰性能 | 迅為<b class='flag-5'>RK</b>3588<b class='flag-5'>開發(fā)板</b>深度剖析

    基于OpenHarmony輕量級操作系統(tǒng)實現(xiàn)RK2206 WiFi-AP模式通信開發(fā)案例

    實驗內(nèi)容本示例將演示如何在小-RK2206開發(fā)板上使用WiFi-AP模式(即將RK2206作為WiFi路由器),實現(xiàn)與PC端進(jìn)行TCP通
    的頭像 發(fā)表于 08-08 08:23 ?327次閱讀
    基于OpenHarmony輕量級操作系統(tǒng)實現(xiàn)<b class='flag-5'>RK2206</b> WiFi-AP模式通信<b class='flag-5'>開發(fā)</b>案例

    基于OpenHarmony輕量級操作系統(tǒng)實現(xiàn)RK2206 WiFi-AP模式通信開發(fā)案例

    實驗內(nèi)容 本示例將演示如何在小-RK2206開發(fā)板上使用WiFi-AP模式(即將RK2206作為WiFi路由器),實現(xiàn)與PC端進(jìn)行TCP
    發(fā)表于 08-07 15:50

    基于Openharmony輕量級操作系統(tǒng)的分布式數(shù)據(jù)管理開發(fā)案例

    實驗內(nèi)容本例程演示如何在小-RK2206開發(fā)板上使用OpenHarmony輕量級操作系統(tǒng)進(jìn)行KvStore(即分布式數(shù)據(jù)管理)數(shù)據(jù)讀寫。例程:(1)創(chuàng)建兩個線程,一個負(fù)責(zé)寫入KvS
    的頭像 發(fā)表于 08-07 08:23 ?807次閱讀
    基于Openharmony輕量級操作系統(tǒng)的分布式數(shù)據(jù)管理<b class='flag-5'>開發(fā)</b>案例

    RK3568開發(fā)板支持AMP雙系統(tǒng)

    RK3568開發(fā)板支持AMP雙系統(tǒng)
    的頭像 發(fā)表于 06-04 15:33 ?611次閱讀
    <b class='flag-5'>RK</b>3568<b class='flag-5'>開發(fā)板</b>支持AMP雙系統(tǒng)

    迅為RK3568開發(fā)板驅(qū)動開發(fā)指南-輸入子系統(tǒng)

    迅為RK3568開發(fā)板驅(qū)動開發(fā)指南-輸入子系統(tǒng)
    的頭像 發(fā)表于 02-23 15:11 ?740次閱讀
    迅為<b class='flag-5'>RK</b>3568<b class='flag-5'>開發(fā)板</b>驅(qū)動<b class='flag-5'>開發(fā)</b>指南-輸入子系統(tǒng)