定位模组LuatOS快速入门:源UART串口通信

news/2024/11/8 7:07:23/文章来源:https://www.cnblogs.com/luatos/p/18534345

合宙Air201资产定位模组——是一个集成超低功耗4G通信、语音通话、超低功耗定位、计步、震动、Type-C、充电、放音、录音等功能的超小PCBA

内部集成高效、简单、可靠的LuatOS语言,旨在帮助客户降低开发难度,降低研发成本,以及打造超小超低功耗的精品产品。

合宙Air201快速入门-UART示例使用说明-

图片

本教程教你通过使用脚本代码,实现Air201的main_uart串口交互功能,可根据实际需求灵活应用。

我们先了解一些相关基础知识:

UART(通用异步接收器/发送器,全称:Universal Asynchronous Receiver/Transmitter)——是一种串行通信协议,因其多功能性和简单性而被广泛使用。

该协议允许异步通信,也就是说发送器和接收器之间无需共享时钟。数据被组织成数据包,每个数据包包含一个起始位、5到9个数据位、一个可选的奇偶校验位和一个或两个停止位。

UART只需要两条线即可运行:TX(发送)和 RX(接收)。

UART通信优点:

  • UART被广泛应用于各种设备之间的通信,具有较好的兼容性。

  • UART通信协议相对简单,易于实现和调试。
  • UART通信距离较远,适用于需要长距离传输的场景。

UART也有通信速度相对较低等缺点,不适用于对速度要求较高的应用。由于UART是异步通信,可能会受到噪声和干扰的影响,需考量实际应用环境及需求。

接下来,我们讲解UART示例的具体使用。

1. 搭建环境

新同学建议先看前期的基础知识相关教程,更有助于理解和操作。

可以在LuaTools项目管理中新建一个项目,重新选择底层CORE和脚本;或者在原有项目的基础上,不更换CORE,将原来的脚本删除,添加为demo/uart的脚本。

1.1 硬件准备:

  • 合宙Air201 PCBA

  • 合宙Air201-BTB扩展版

  • Win10以上PC

  • SIM卡一张

  • 带有数据通信功能的数据线

图片

如上图所示,如果直接使用Air201上的main_uart串口,需要在4G_UART1_RXD和4G_UART1_TXD处引出线

也可以连接B2B扩展板,直接接入板子上的main_uart串口。

图片图片

 

1.2 软件准备:

  • LuaTools调试工具:
    https://docs.openluat.com/Luatools/

  • 最新固件:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

  • 最新脚本:
    https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/uart

  • 串口工具:
    https://llcom.papapoi.com/index.html

2. 调试代码

使用克隆的代码进行测试,代码路径:
LuatOS-Air201\demo\uart\uart

2.1 初始化UART

使用MAIN_UART(uart1)串口:

图片

2.2 发送数据

图片

2.3 注册接收数据的回调函数

图片

2.4 完整例程

最新源码下载:
https://gitee.com/openLuat/LuatOS-Air201/tree/master/demo/uart

图片

3. 代码烧录

新同学可以查看参考详细烧录教程:
https://docs.openluat.com/Luatools/

1)选对应的固件版本;

2)选择对应的脚本,选择添加默认lib,勾选免BOOT刷脚本;

3)固件版本不变的情况下,直接选择下载脚本即可。

图片

4. 示例效果

4.1 串口接收展示

图片

4.2 模组打印log

图片

以上就是今天的全部内容,感谢收看。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为 .NET Conf 2024 做好准备之本地社区活动 .NET Conf China 2024 启动

.NET Conf 2024 是一个面向.NET生态系统社区的大型活动,将于2024年11月12日至14日举行。该活动将通过YouTube和Twitch进行现场直播,并在dotnetconf.net网站上提供直播流。这是一个免费的虚拟事件,旨在为初学者和学习者提供关于AI、Web开发、移动开发和游戏开发等方面的教育内…

源码开放:WebSocket应用示例

1 WebSocket概述WebSocket是HTML5下一种新的协议(本质上是一个基于TCP的协议),它实现了浏览器与服务器之间的全双工通信,能够节省服务器资源和带宽,达到实时通讯的目的。WebSocket协议通过握手机制,允许客户端和服务器之间建立一个类似TCP的连接,从而方便它们之间的通信…

东山派七号STM32MP157-适配U-Boot LCD驱动 内核启动LCD打印启动信息

最近淘到一块东山派7号开发板,基于STM32MP157DAC,因为便宜,买过来玩。 但是韦东山的资料真的有一说一,板子出的挺多,除了卖的最好的板子,其他的资料非常非常少。。(韦老师您看到了别生气,至少因为资料少引发问题我解决了也算收获经验了。。。) 我说的是实话,因为正点…

chapter16

segmentation.py参数第一题问题先让我们用一个小地址空间来转换一些地址。这里有一组简单的参数和几个不同的随机种子。你可以转换这些地址吗? segmentation.py -a 128 -p 512 -b 0 -l 20 -B 512 -L 20 -s 0 segmentation.py -a 128 -p 512 -b 0 -l 20 -B 512 -L 20 -s 1 segm…

刻不容缓腾讯云双十一活动羊毛攻略!!!

前言 每年的各大云厂商都在举办自己的活动,这不腾讯云举办了双十一嘉年华上云拼团 GO, 像我们这类程序员都拥有自己的博客或者需要部署的应用以及 Demo 案例,缺少不了云服务,接下来我带着大家领略最佳价格!!一、活动时间与节奏预热期(10 月 24 日 - 10 月 31 日)可提前了解活…

避坑指南:Mask操作时不要使用float(-inf)填充

在Transformer等类似深度学习任务中有掩码自注意力机制等子模块,会涉及默认的填充值, 建议填一个足够小的数,如-1e6就OK了,如果设置成float(-inf),如: if mask is not None:mask = mask.expand(attention_scores.shape[0], -1, -1, -1)attention_scores = attention_score…

游记:第37届校赛

T7 悦跑圈!启动! 改完这个题我就睡觉 求在s1或s2闭合的最小环,所以我枚举了边,假设一条边的两头分别是u和v,我以为环就是dij跑出来的d[u]+d[v],虽然不会立刻原路返回起点,但是中间可能有重复路径,而环是不能有这种路径的,所以从一开始就错了。(不长记性,失恋三部曲忘…

zlibrary镜像网站,z-library中文入口(持续更新)

zlibrary,一个全球领先的数字图书馆,拥有超过1300万册电子书资源,供人下载。它跨越多个学科,从古典文学到现代科技,再到人文艺术,无所不包。ZLibrary的使命是促进教育平等,让每个人都能便捷地获取知识。zlibrary数字图书馆镜像网址 zlbrary最新官网地址:https://zh.z-l…

MacOS(Unix系统)炫酷完美终端配置

MacOS(Unix系统)炫酷完美终端配置 1 下载安装 iTerm2 1.1 iTerm2,没有上架到AppStore,只能通过下载zip包安装,这是下载地址: https://iterm2.com/downloads.html ,压缩包双击打开后,将解压后的App拖动到【应用程序】文件夹就完成了。1.2 打开iTerm2 配置如下图,iTerm2…

流程编排LiteFlow-业务代码解耦

LiteFlow真的是相见恨晚啊,之前做过的很多系统,都会用各种if else,switch这些来解决不同业务方提出的问题,有时候还要“切一个分支”来搞这些额外的事情,把代码搞得一团糟,毫无可读性而言。如何打破僵局?LiteFlow为解耦逻辑而生,为编排而生,在使用LiteFlow之后,你会发…

Linux中awk命令实现指定字段的第一个字母大写

001、[root@PC1 test]# ls a.txt [root@PC1 test]# cat a.txt ## 测试数据 abcd KHG DETT dre ssae rtE [root@PC1 test]# awk {$1 = toupper(substr($1, 1, 1)) substr($1,2); print $0} a.txt ## 此处借助awk的内置函数…

java学习11.7

继续学习spring的内容