Air780E低功耗模组的LuatOS开发:位运算(bit)示例教程!

news/2024/11/30 13:31:14/文章来源:https://www.cnblogs.com/luatos/p/18576642

本文讲述的是低功耗4G模组Air780E的LuatOS开发,关于位运算(bit)的示例教程,希望大家有所收获。

一、位运算概述

位运算是一种在计算机系统中对二进制数位进行操作的运算。由于计算机内部数据的存储和处理都是以二进制形式进行的,位运算能够直接对整数的二进制位进行高效操作。位运算包括与(&)、或(|)、异或(^)、非(~)、左移(<<)和右移(>>)等基本操作。

二、演示功能概述

本文通过了解位操作的API函数,并用代码演示功能来熟悉Air780E-LuatOS-软件 demo-基础服务-位运算(bit)。

三、硬件准备

3.1 Air780E核心板

使用Air780E核心板,如下图所示:

此核心板的详细使用说明参考:
https://docs.openluat.com/air780e/product/

Air780E产品手册 中的 《开发板Core_Air780E使用说明》,写这篇文章时最新版本的使用说明为:《开发板Core_Air780E使用说明》;若在使用过程中遇到任何问题,可以直接参考这份使用说明文档。

3.2 SIM 卡

中国大陆环境下,可以上网的sim 卡。一般来说,使用移动/电信/联通的物联网卡或者手机卡都行。

3.3 PC 电脑

请准备一台配备 USB 接口且能够正常上网的电脑。

电脑操作系统为:
WIN10以及以上版本的WINDOWS系统。

3.4 数据通信线

带TYPE-C口的USB数据线.

四、软件环境

4.1 Luatools 工具

要想烧录LuatOS到4G模组中,需要用到的调试工具:Luatools

详细使用说明参考:
Luatools 工具使用说明:
https://docs.openluat.com/Luatools/

Luatools 工具集具备以下几大核心功能:

一键获取最新固件:
自动连接服务器,轻松下载最新的模组固件。

固件与脚本烧录:
便捷地将固件及脚本文件烧录至目标模组中。

串口日志管理:
实时查看模组通过串口输出的日志信息,并支持保存功能。

串口调试助手:
提供简洁的串口调试界面,满足基本的串口通信测试需求。

Luatools下载之后,新建一个命名为 "Luatools" 的文件夹,将下载的Luatools_v3.exe拷贝或移动到新建的Luatools文件夹内,点击 Luatools_v3.exe 即可运行。

4.2 准备需要烧录的代码

首先要说明一点:脚本代码, 要和固件的 soc 文件一起烧录。

4.2.1 烧录的底层固件文件

底层 core 下载地址:
LuatOS 固件版本下载地址:
https://docs.openluat.com/air780e/luatos/firmware/

Air780E的底层固件在 Luatools 解压后目录的:
LuatOS-SoC_V1112_EC618_FULL.soc

4.2.2 烧录的脚本代码

首先要下载Air780的LuatOS示例代码到一个合适的项目目录,示例代码网站:
https://gitee.com/openLuat/LuatOS-Air780E

下载流程参考下图:

五、API 说明

5.1 bit.band(value)

位操作支持库

取反,等价于 C 语言中的~

参数

返回值

例子

5.2 bit.band( val1, val2, … valn )

与运算,等价于 C 语言中的 val1 & val2 & … & valn

参数

返回值

例子

5.3 bit.bor( val1, val2, … valn )

或运算,等价于 C 里面的 val1 | val2 | … | valn

注:对于Air780E建议不要超过多少个参数

参数

返回值

例子

5.4 bit.bxor( val1, val2, … valn )

异或运算,等价于 C 语言中的 val1 ^ val2 ^ … ^ valn

参数

返回值

例子

5.5 bit.lshift( value, shift )

逻辑左移,等价于 C 语言中的 value << shift

参数

返回值

例子

5.6 bit.rshift( value, shift )

逻辑右移,等价于 C 语言中的 value >> shift

参数

返回值

例子

5.7 bit.arshift( value, shift )

算数右移

参数

返回值

例子

5.8 bit.bit( position )

左移运算,等价于 C 语言中的 1 << position

参数

返回值

例子

图片

5.9 bit.isset(value, position)

测试位数是否被置 1

参数

返回值

例子

5.10 bit.isclear(value, position)

测试位数是否被置 0

参数

返回值

例子

5.11 bit.set(value, pos1, pos2, …posn)

置 1

参数

返回值

例子

5.12 number=bit.clear(value, pos1, pos2, …posn)

置 0

参数

返回值

例子

六、功能验证

6.1 示例代码

下面根据 demo 演示位操作的功能,可以参考以下示例代码.

示例代码如下:

6.2 烧录步骤

6.2.1 正确连接电脑和 4G 模组电路板

使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线.

6.2.2 识别 4G 模组的 BOOT 引脚

在下载之前,要用模组的 BOOT 引脚触发下载, 也就是说,要把 4G 模组的 BOOT 引脚拉到 1.8v,或者直接把 BOOT 引脚和 VDD_EXT 引脚相连.我们要在按下 BOOT 按键时让模块开机,就可以进入下载模式了.

具体到Air780E开发板:

1、当我们模块没开机时,按着 BOOT 键然后长按 POW 开机;

2、当我们模块开机时,按着 BOOT 键然后点按重启键即可。

6.2.3 识别电脑的正确端口

判断是否进入 BOOT 模式:模块上电,此时在电脑的设备管理器中,查看串口设备, 会出现一个端口表示进入了 BOOT 下载模式,如下图所示:

6.2.4 用 Luatools 工具烧录

新建项目

首先,确保你的 Luatools 的版本,大于等于 3.0.6 版本的。

在 Luatools 的左上角上有版本显示的,如图所示:

Luatools 版本没问题的话, 就点击 Luatools 右上角的“项目管理测试”按钮,如下图所示:

这时会弹出项目管理和烧录管理的对话框,可以新建一个项目,如下图:

开始烧录

选择Air780E板子对应的底层 core 和刚改的 main.lua 脚本文件,下载到板子中:

点击下载后,我们需要进入BOOT模式才能正常下载。

如果没进入BOOT模式会出现下图情况::

进入 BOOT 模式下载,如图:

6.3 对应log信息

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

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

相关文章

【安全运营】当监管要一份网络安全总结报告

经常遇到上级要一份网络安全总结报告的情形,以下举例的格式是比较常见的一种,供大家参考。 网络安全检查总结报告例子 一、报告名称 XXX限公司2024年网络安全检查总结报告。 二、检查总结报告组成 (一)网络安全检查工作组织开展情况(根据公司的管理文件) 我司高度重视网络…

USB无法识别设备?USB驱动问题解析篇

今天我们来讲解的是USB驱动问题,连接USB无法识别模组设备,是不是驱动问题?今天就一起来聊聊如何排查解决。今天我们来讲解的是USB驱动问题,连接USB无法识别模组设备,是不是驱动问题?今天就一起来聊聊如何排查解决。 注意:本文涉及的内容都是基于Windows系统,且不低于Wi…

fallingsnow.js-jquery下雪动画特效

fallingsnow.js是一款小巧的jquery下雪动画特效插件。该jquery下雪动画特效兼容ie8浏览器,它会控制雪花的飘落速度,雪花的尺寸越小,下落的速度越慢,可以制作出雪花飞舞的视觉差效果。在线演示 下载使用方法 在页面中引入jquery.fallingsnow.css和jquery、jquery.fallingsn…

asp.net mvc视图传递数据至另一页的视图

由于简篇,C# mvc +axios + web api + javascript 这里只是简单一笔带过。如果操作,看如下截图 可以写一个javascript函数, 具体如何传,代码如何写?参考博文前链接内的DetailButton_EventListener(data)函数的写法。 把数据传至MVC 的控制器中,让控制器来处理。 在此数据处…

AI让照片跳舞,人人都能是舞王!Swan下载介绍

最近,兵马俑、马斯克以及各地网友跳科目三和网红舞的视频陆续在社交媒体和朋友圈刷屏,这些大约10秒左右的视频都不是真人出镜,均由大模型生成,这种低门槛的跳舞方式引发了网友的广泛体验,掀起了一波斗舞狂潮「AI治愈了我的四肢不协调」Swan是一款使用扩散模型实现的时域一…

D触发器

一、D触发器原理D触发器(data flip-flop)也称为维持-阻塞边沿D触发器,由六个与非门组成,其电路图及其逻辑符号如下图所示。其中G1和G2构成基本的RS触发器,G3和G4构成时钟控制电路,G5和G6组成数据输入电路。 二、D触发器原理- -钟控D触发器在分析维持-阻塞边沿D触发器的工作…

idea 2024.2切换到旧版的UI

安装官方的 Classic UI 插件。 步骤:File -> Settings -> Plugins ,搜索 Classic UI 安装即可。

基于Ubuntu2410搭建openstack-D版

@目录初始化环境安装数据库、memcahe、rabbitmq等服务安装keystone服务安装glance服务安装placement服务安装nova服务安装neutron服务安装horizon服务启动云主机 本次实验使用单节点搭建,Ubuntu2410系统:搭建openstack-D版,采用ovs网络组件,最终创建云主机,并实现远程连接…

快速安装 Qt 的各种方法

1 在 Windows 下快速安装 Qt 由于QT的服务器在国外,而国内通国外的网络往往不够流畅,因此在下载QT时我们经常会出现下载中断的问题。一个好的解决办法是在安装程序时替换下载源,下面我以中科大源为例子,替换QT的下载源。 1.1 下载 Qt 安装器 首先点击 download-open-source…

Typora配置导出word

下载“pandoc”,解压文件,配置路径即可。下载连接: 阿里云盘 https://www.alipan.com/s/YDaia5u8MRs 提取码: 67ur

从Delphi到Lazarus——Lazarus开发环境使用入门教程

0.前言 曾经有过更换开发环境体验的编程爱好者都会有同样的感受:打开新更换的开发环境后,看到陌生的界面无从下手。想写一段小程序试一试,却你找不到自己需要的组件在哪里。 其实,我们每到一个新地方,首先要找点资料熟悉周围的环境。编写程序也是这样,使用一个新的开发环…

CV总结之边缘检测

边缘检测 常见算子 边缘检测是图像处理和计算机视觉中的一个基本任务,目的是识别图像中物体的边界。边缘是图像中亮度变化显著的区域,通常标志着物体、表面或形状的边界。边缘检测对于后续的图像分析任务,如特征提取、目标识别和图像分割等,都是非常重要的。 常见边缘检测算…