0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

小凌派-RK2206开发板:UART控制案例

福州市凌睿智捷电子有限公司 2022-06-14 11:12 次阅读

小凌派-RK2206开发板:UART控制案例

一、简介

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。

本文基于瑞芯微RK2206芯片 + OpenHarmony系统,通过uart控制实现PC和开发板的互相通信功能。

二、硬件电路设计

模块整体硬件实物图如下图所示。电路比较简单,这边不对电路进行说明。

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

图1电路实物图图

三、程序设计

UART控制主要分为UART初始化和UART收发。

1、UART初始化

这部分代码为uart初始化的代码。首先用 LzUartDeinit() 函数将串口释放掉;其次用PinctrlSet()将GPIO0_PB6复用为UART0_RX_M0,GPIO0_PB7复用为UART0_TX_M0。最后调用 LzUartInit()函数初始化uart。源代码如下所示:


1/*释放UART设备*/

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发送

具体uart写操作如下:

1./*控制UART发送字符串*/

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发送字符串*/

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社区中,大家可以根据以下网址下载。

https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts

本文使用的案例网址如下: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网址的说明手册(“烧录打印”章节):https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk2206-openharmony3.0lts/blob/master/device/rockchip/README_zh.md

五、实验结果

程序编译烧写到开发板后,按下开发板的RESET按键,通过串口软件查看日志如下:

HelloWorld!

HelloWorld!

HelloWorld!

HelloWorld!

...



声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 小凌派
    +关注

    关注

    0

    文章

    27

    浏览量

    1193
收藏 人收藏

    评论

    相关推荐

    【迅为】瑞芯微RK3588开发板RK3568开发板区别及优势

    RK3568开发板
    的头像 发表于 11-18 14:19 141次阅读
    【迅为】瑞芯微<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b><b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>区别及优势

    ARM开发板与树莓的比较

    ARM开发板和树莓都是基于ARM架构的单板计算机,它们在教育、工业控制、物联网等领域有着广泛的应用。 硬件配置 ARM开发板和树莓的硬件
    的头像 发表于 11-05 11:11 215次阅读

    迅为iTOP-RK3568/RK3588开发板获麒麟软件适配认证

    迅为iTOP-RK3568/RK3588开发板获麒麟软件适配认证
    的头像 发表于 10-18 14:56 428次阅读
    迅为iTOP-<b class='flag-5'>RK</b>3568/<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>获麒麟软件适配认证

    【「OpenHarmony开发与实践 | 基于红莓RK2206开发板」阅读体验】+初体验1

    爱好者没有bug,「OpenHarmony开发与实践 | 基于红莓RK2206开发板」大卖吧!哦对了 你们的开发板是怎么准备的呢?【小
    发表于 09-18 18:30

    【「OpenHarmony开发与实践 | 基于红莓RK2206开发板」阅读体验】+初体验2连发发

    啥也不说先上图 对于《OpenHarmony开发与实践 | 基于红莓RK2206开发板》这本书的热爱,简直就像夏日里的一股清泉,让人忍不住想要一探究竟! 这本书的排布,简直就是一场视觉盛宴,章节
    发表于 09-18 18:01

    树莓和arm开发板的区别

    树莓(Raspberry Pi)和ARM开发板都是基于ARM架构的微型计算机,但它们之间存在一些关键区别。 一、历史背景 树莓(Raspberry Pi) 树莓是由英国树莓
    的头像 发表于 08-30 15:36 786次阅读

    linux开发板与树莓的区别

    定义和用途 Linux开发板:Linux开发板是一种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓:树莓
    的头像 发表于 08-30 15:34 725次阅读

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 502次阅读
    <b class='flag-5'>RK</b>3588!黑神话悟空,启动?-迅为电子<b class='flag-5'>RK</b>3588<b class='flag-5'>开发板</b>

    HZ-CORE-RK3576开发板

    HZ-CORE-RK3576开发板
    的头像 发表于 08-29 13:58 308次阅读
    HZ-CORE-<b class='flag-5'>RK</b>3576<b class='flag-5'>开发板</b>

    新一代低价开发板芯片RK3562来啦! — 触觉智能RK3562开发板

    最近我收到了个一套开发板,有核心开发板,还有个7英寸触摸屏幕。这些东西,都是一家叫做触觉智能的公司做的基于瑞芯微RK3562的产品。RK
    的头像 发表于 08-15 17:42 1078次阅读
    新一代低价<b class='flag-5'>开发板</b>芯片<b class='flag-5'>RK</b>3562来啦! — 触觉智能<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>

    基于OpenHarmony轻量级操作系统实现RK2206 WiFi-AP模式通信开发案例

    实验内容本示例将演示如何在小-RK2206开发板上使用WiFi-AP模式(即将RK2206作为WiFi路由器),实现与PC端进行TCP通
    的头像 发表于 08-08 08:23 354次阅读
    基于OpenHarmony轻量级操作系统实现<b class='flag-5'>RK2206</b> WiFi-AP模式通信<b class='flag-5'>开发</b>案例

    基于OpenHarmony轻量级操作系统实现RK2206 WiFi-AP模式通信开发案例

    实验内容 本示例将演示如何在小-RK2206开发板上使用WiFi-AP模式(即将RK2206作为WiFi路由器),实现与PC端进行TCP
    发表于 08-07 15:50

    基于Openharmony轻量级操作系统的分布式数据管理开发案例

    实验内容本例程演示如何在小-RK2206开发板上使用OpenHarmony轻量级操作系统进行KvStore(即分布式数据管理)数据读写。例程:(1)创建两个线程,一个负责写入KvS
    的头像 发表于 08-07 08:23 838次阅读
    基于Openharmony轻量级操作系统的分布式数据管理<b class='flag-5'>开发</b>案例

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 626次阅读
    <b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>支持AMP双系统

    迅为RK3568开发板驱动开发指南-输入子系统

    迅为RK3568开发板驱动开发指南-输入子系统
    的头像 发表于 02-23 15:11 780次阅读
    迅为<b class='flag-5'>RK</b>3568<b class='flag-5'>开发板</b>驱动<b class='flag-5'>开发</b>指南-输入子系统