【XR806开发板试用】 UART串口通信篇

目录:

一. 环境配置
二. 串口通信
三. oled显示
总结:源码中有头文件及例子等。

一.环境配置

在https://aijishu.com/a/1060000000286755中已经写好。

二.UART串口通信

2.1 简单介绍

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

就是RX-TX,TX-RX,一个接收一个发送,需要相应的波特率,例如115200、9600,需要数据位、停止位、校验位,这些按照对应要求就可以了。

2.2 源码位置

UART示例在/xr806_openharmony/device/xradio/xr806/xr_skylark/project/example/uart文件夹内,包含main.c、中文说明readme.md
在这里插入图片描述
其中main.c中引入了hal_uart.h,里面定义了UART的使用方法,按照路径还发现了I2C、GPIO、PWM等头文件,发财了
在这里插入图片描述

引入的语句为#include “driver/chip/hal_uart.h”,没有绝对位置因为在BUILD.gn中就定义了board_include_dirs,里面声明了许多头文件位置
在这里插入图片描述

2.3创建工程

ohosdemo文件夹中复制hello_demo,并更名为uart_demo
在这里插入图片描述

注意:需要更改两个BUILD.gn

第一个为ohosdemo文件夹中的BUILD.gn
在这里插入图片描述

在第30行加入"uart_demo:app_uart"
第二个为uart_demo文件夹中的BUILD.gn
在这里插入图片描述
在第29行更改为app_uart,因为board_include_dirs内声明了头文件位置,就不需要在40行下继续添加了
在src文件夹内将上节example中uart内的main.c复制并替换
在这里插入图片描述

原文件使用的是UART0_ID,我这里想用usb线,也就是0号UART,XR806一共有三路UART,通过id(1、2、3)区分,具体引脚功能见官网表格。
修改好两个BUILD.gn、main.c及文件夹位置正确后就可以编译啦~

2.4固件编译

在根目录右键进入Terminal
在这里插入图片描述

输入hb build 回车
在这里插入图片描述

我是第二次编译,可能显示结果会不一样
编译好的固件就在/xr806_openharmony/device/xradio/xr806/xr_skylark/out文件夹内
在这里插入图片描述

2.5固件烧录

把img固件复制到Windows里,在Windows上打开phoenixMC_v3.1.21014b.exe,选择相应固件后点击升级固件,出现OK就好啦
在这里插入图片描述

2.6代码效果

在串口助手打开,该代码功能就是发送什么返回什么
在这里插入图片描述

这就完成XR806 UART串口通信啦,因为有三路UART,后面准备接一个传感器至UART1再通过UART0进行显示,先干饭!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/394718.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Angular 基础] - 视图封装 局部引用 父子组件中内容传递

[Angular 基础] - 视图封装 & 局部引用 & 父子组件中内容传递 之前的笔记: [Angular 基础] - Angular 渲染过程 & 组件的创建 [Angular 基础] - 数据绑定(databinding) [Angular 基础] - 指令(directives) 以上为静态页面,即不涉及到跨组…

APP出海类型有哪些?流量主如何选择广告变现平台?

APP出海成了目前的新趋势,对开发者而言,广告策略和流量分配的方法上也面临着诸多挑战。 一、APP出海类型 01、游戏类应用 游戏类应用是移动应用出海中最受欢迎的类型之一。这类应用通常具有较高的娱乐性和互动性,能够吸引大量用户下载和使…

Eclipse - Expressions Add Watch Expression

Eclipse - Expressions & Add Watch Expression References Window -> Show View -> Other… Show View -> Debug -> Expressions -> Open Debug 模式下出现 Expressions 窗口 Debug 模式下,如果需要查看指定变量或者返回函数的值,直…

区块链技术和Hyperledger Fabric介绍

1 区块链介绍 1.1 区块链技术形成 1.1.1 起源 在比特币诞生之时,技术专家们开始研究比特币的底层技术,并抽象提取出来,形成区块链技术,或者称分布式账本技术。 1.1.2 定义 简称BT(Blockchain technology&#xff…

跨境电商无货源如何实现自动化对接1688货源商品上架?1688商品采集API来帮你

阿里巴巴集团旗下的B2B电子商务网站,提供海量优质商品,为采购商和供应商提供交流、合作、采购等服务,是很多没有货源优势的电商卖家首选的货源途径,也是国内最大、货源种类最齐全的货源网站。 不少做跨境电商无货源的朋友都想要直…

UE5 C++ UObject实例化

一.创建UObject C类 在MyObject中声明结构体FMyDataTableStruct 在MyPawn里面,先将头文件里包含 MyObject.h 在MyPawn中声明一个UMyObject类型的指针 TSubclassOf 是提供 UClass 类型安全性的模板类。例如您在创建一个投射物类,允许设计者指定伤害类型…

SSH密钥认证登陆流程(Vscode连接到远程)

目录 前言连接远程步骤1. 下载工具包wsCli到本地机器2. 本地机器上生成ssh密钥3. 在服务器上安装公钥4. vscode连接到远程 参考资料 前言 SSH(Secure Shell)是一种用于远程登录和安全传输数据的网络协议。它提供了两种主要的远程连接方式: 密…

迁移公众号必须公证吗?

公众号迁移的好处有哪些?迁移后原公众号还能用吗?公众号迁移的好处有很多哦!比如可以获得更多权限功能、公司变更或注销时可以保证账号的正常使用、收购账号后可以改变归属权或使用权等等。不过要注意的是,迁移后原公众号就不能再…

用户权限管理系统需求分析(附文档下载)

整体目录 引言 1.1 项目简介 本文档对通用用户权限管理系统的总体设计、接口设计、界面总体设计、数据结构设计、系统出错处理设计以及系统安全数据进行了说明。 1.2 编写说明 1.3参考资料 《通用权限管理系统需求规格说明书》 《通用权限管理系统数据库设计说…

mysql 2-18

加密与解密函数 其他函数 聚合函数 三者效率 GROUP BY HAVING WHERE和HAVING的区别 子查询 单行子查询和多行子查询 单行比较操作符 多行比较操作符 把平均工资生成的结果当成一个新表 相关子查询 EXISTS 一条数据的存储过程 标识符命名规则 创建数据库 MYSQL的数据类型 创建表…

【RT-DETR有效改进】注意力与卷积的高效融合 | ACmix自注意力与卷积混合模型

一、本文介绍 本文给大家带来的改进机制是ACmix自注意力机制的改进版本,它的核心思想是,传统卷积操作和自注意力模块的大部分计算都可以通过1x1的卷积来实现。ACmix首先使用1x1卷积对输入特征图进行投影,生成一组中间特征,然后根…

DS:八大排序之归并排序、计数排序

创作不易,感谢三连支持!! 一、归并排序 1.1 思想 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide andConquer)的一个非常典型的应用。将已有序的子…

微服务OAuth 2.1认证授权Demo方案(Spring Security 6)

文章目录 一、介绍二、auth微服务代码1. SecurityConfig2. UserDetailsService3. 总结 三、gateway微服务代码1. 统一处理CORS问题 四、content微服务代码1. controller2. SecurityConfig3. 解析JWT Utils4. 总结 五、一些坑 书接上文 微服务OAuth 2.1认证授权可行性方案(Sprin…

【软考高级信息系统项目管理师--第十五章:项目风险管理】

🚀 作者 :“码上有前” 🚀 文章简介 :软考高级–信息系统项目管理师 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 第十五章:项目风险管理 风险的属性风险的分类风险管理过程规划风险管理…

Linux——开发工具的使用

目录 Linux软件包管理器 yum rzsz Linux编辑器——vim vim的使用 vim的基本操作 命令模式的常见命令 底行模式的常见命令 vim是需要配置的 Linux编译器——gcc/g 预处理 编译 汇编 链接 函数库 Linux项目自动化构建工具 make/makefile make原理 项目清理 Linux调试器g…

Home Assistant 接入小米空气净化器

一、在HACS中安装Xiaomi Miot Auto 二、Xiaomi Miot Auto配置基础信息(需要用米家APP加入该设备) 1、选择局域网集成 2、配置小米空气净化器设备基础信息 ip为小米空气净化器设备IP(可在米家app中设备详情中查看也可在Get.token中查看) Token可以使用Get…

Arduino的PWM应用:舵机控制

目录 概述 1 认识舵机 1.1 舵机分类 1.2 舵机结构 1.3 舵机工作原理 1.4 舵机控制原理 1.5 舵机工作参数介绍 1.5.1 基本参数 1.5.2 舵机扭矩 2 系统硬件 2.1 硬件模块介绍 2.1.1 SG90 9G 360舵机 2.1.2 SG90 9G 180舵机 2.1.3 Arduino UNO 主板 2.2 整体结构…

19. 【Linux教程】nano 编辑器

前面小节介绍了如何使用 vim 编辑器,相比于 vim 编辑器,nano 编辑器就比较简单了。nano 是 UNIX 系统中的一个文本编辑器,大部分 Linux 发行版本默认都安装了 nano 文本编辑器。 和 vim 编辑器相比,nano 编辑器就没有那么强大&am…

Unix I/O 模型及Java I/O 模型详解

在Unix Socket的输入操作中,可以将其分为以下几个阶段: 等待数据就绪(内核空间): 在这个阶段,应用程序通过调用阻塞式的读取函数(如recv)或非阻塞式的读取函数(如recv、recvfrom)等待…

Opencv实战(1)读取与图像操作

Opencv 文章目录 Opencv一、读取图片1.imshow2.namedWindow3.imshow4.效果图 二、像素操作(1).访问像素1. at()2.Mat_ (2).遍历像素1.指针遍历2.迭代器遍历 (3).threshold(4).通道分离1.split2.merge (5)Gamma矫正 三、深浅拷贝 一、读取图片 1.imshow Mat imread(const stri…