女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

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

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

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

一、簡(jiǎn)介

通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱(chēng)作UART。它將要傳輸?shù)馁Y料在串行通信與并行通信之間加以轉(zhuǎn)換。作為把并行輸入信號(hào)轉(zhuǎn)成串行輸出信號(hào)的芯片,UART通常被集成于其他通訊接口的連結(jié)上。

本文基于瑞芯微RK2206芯片 + OpenHarmony系統(tǒng),通過(guò)uart控制實(shí)現(xiàn)PC和開(kāi)發(fā)板的互相通信功能。

二、硬件電路設(shè)計(jì)

模塊整體硬件實(shí)物圖如下圖所示。電路比較簡(jiǎn)單,這邊不對(duì)電路進(jìn)行說(shuō)明。

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

圖1電路實(shí)物圖圖

三、程序設(shè)計(jì)

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寫(xiě)操作如下:

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.}


四、編譯過(guò)程

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、打開(kāi)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、燒寫(xiě)固件

請(qǐng)參考Gitee網(wǎng)址的說(shuō)明手冊(cè)(“燒錄打印”章節(jié)):https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/blob/master/device/rockchip/README_zh.md

五、實(shí)驗(yàn)結(jié)果

程序編譯燒寫(xiě)到開(kāi)發(fā)板后,按下開(kāi)發(fā)板的RESET按鍵,通過(guò)串口軟件查看日志如下:

HelloWorld!

HelloWorld!

HelloWorld!

HelloWorld!

...



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

    關(guān)注

    0

    文章

    28

    瀏覽量

    1375
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制FLASH外設(shè)

    1、實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的FLASH接口,進(jìn)行FLASH編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),實(shí)現(xiàn)
    發(fā)表于 04-22 15:02

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制FLASH外設(shè)

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的FLASH接口,進(jìn)行FLASH編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),實(shí)現(xiàn)FL
    的頭像 發(fā)表于 04-22 14:49 ?240次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b>FLASH外設(shè)

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制UART外設(shè)

    1、實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的UART接口,進(jìn)行UART
    發(fā)表于 04-22 14:27

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制UART外設(shè)

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的UART接口,進(jìn)行UART
    的頭像 發(fā)表于 04-22 14:22 ?295次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b><b class='flag-5'>UART</b>外設(shè)

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡(jiǎn)介 本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO中斷模式,進(jìn)行GPIO編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),通過(guò)
    發(fā)表于 04-21 11:08

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO中斷

    1、實(shí)驗(yàn)簡(jiǎn)介本實(shí)驗(yàn)將演示如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO中斷模式,進(jìn)行GPIO編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置
    的頭像 發(fā)表于 04-21 10:39 ?322次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b>GPIO中斷

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡(jiǎn)介 本案例主要是如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO接口,進(jìn)行GPIO編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置
    發(fā)表于 04-11 15:45

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制GPIO外設(shè)

    1、案例簡(jiǎn)介本案例主要是如何在小-RK2206開(kāi)發(fā)板上使用IOT庫(kù)的GPIO接口,進(jìn)行GPIO編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),通過(guò)配置GP
    的頭像 發(fā)表于 04-11 15:36 ?668次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b>GPIO外設(shè)

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制ADC外設(shè)

    1、案例簡(jiǎn)介 本案例主要講解如何在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)的ADC接口,進(jìn)行ADC編程開(kāi)發(fā)。 例程內(nèi)容為創(chuàng)建一個(gè)任務(wù),讀取按
    發(fā)表于 04-10 16:20

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制ADC外設(shè)

    1、案例簡(jiǎn)介本案例主要講解如何在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)的ADC接口,進(jìn)行ADC編程開(kāi)發(fā)。例程內(nèi)容為創(chuàng)建一個(gè)任務(wù),讀取按鍵的
    的頭像 發(fā)表于 04-10 16:00 ?300次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b>ADC外設(shè)

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制PWM外設(shè)

    1、案例簡(jiǎn)介 本案例是在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)PWM接口,進(jìn)行PWM編程開(kāi)發(fā)。 例程將創(chuàng)建一個(gè)任務(wù),每隔5秒將PWM0~1
    發(fā)表于 04-09 09:37

    基于小RK2206開(kāi)發(fā)板:OpenHarmony如何使用IoT接口控制PWM外設(shè)

    1、案例簡(jiǎn)介本案例是在小-RK2206開(kāi)發(fā)板上使用IoT庫(kù)PWM接口,進(jìn)行PWM編程開(kāi)發(fā)。例程將創(chuàng)建一個(gè)任務(wù),每隔5秒將PWM0~10依
    的頭像 發(fā)表于 04-09 08:59 ?685次閱讀
    基于小<b class='flag-5'>凌</b><b class='flag-5'>派</b><b class='flag-5'>RK2206</b><b class='flag-5'>開(kāi)發(fā)板</b>:OpenHarmony如何使用IoT接口<b class='flag-5'>控制</b>PWM外設(shè)

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

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

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

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

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

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