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

    浏览量

    1219
收藏 人收藏

    评论

    相关推荐

    Linux系统更换开机logo方法教程,触觉智能RK3562开发板演示

    本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能
    的头像 发表于 01-06 10:53 177次阅读
    Linux系统更换开机logo方法教程,触觉智能<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>演示

    OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示

    本文介绍瑞芯微主板/开发板编译OpenHarmony源码后烧录镜像的教程,触觉智能Purple Pi OH鸿蒙开发板演示。搭载了瑞芯微RK3566四核处理器,树莓卡片电脑设计,支持开
    的头像 发表于 12-30 10:08 122次阅读
    OpenHarmony源码编译后烧录镜像教程,<b class='flag-5'>RK</b>3566鸿蒙<b class='flag-5'>开发板</b>演示

    瑞芯微主板/开发板Linux系统播放音频方法,触觉智能RK3562开发板演示

    本文介绍瑞芯微方案主板/开发板Linux系统播放音频的方法,触觉智能RK3562开发板演示,通用RK3566、RK3568、
    的头像 发表于 12-13 11:40 271次阅读
    瑞芯微主板/<b class='flag-5'>开发板</b>Linux系统播放音频方法,触觉智能<b class='flag-5'>RK</b>3562<b class='flag-5'>开发板</b>演示

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

    RK3568开发板
    的头像 发表于 11-18 14:19 476次阅读
    【迅为】瑞芯微<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 520次阅读

    【「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 1091次阅读

    linux开发板与树莓的区别

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

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

    RK3588!黑神话悟空,启动?-迅为电子RK3588开发板
    的头像 发表于 08-30 14:13 679次阅读
    <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 367次阅读
    HZ-CORE-<b class='flag-5'>RK</b>3576<b class='flag-5'>开发板</b>

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

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

    RK3568开发板支持AMP双系统

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