LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库
rtos.receive(timeout)
接受并处理底层消息队列.
参数
| 传入值类型 | 解释 |
|---|---|
| int | 超时时长,通常是-1,永久等待 |
返回值
| 返回值类型 | 解释 |
|---|---|
| msgid | 如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证. |
例子
无
rtos.timer_start(id,timeout,_repeat)
启动一个定时器
参数
| 传入值类型 | 解释 |
|---|---|
| int | 定时器id |
| int | 超时时长,单位毫秒 |
| int | 重复次数,默认是0 |
返回值
| 返回值类型 | 解释 |
|---|---|
| id | 如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证. |
例子
-- 用户代码请使用 sys.timerStart -- 启动一个3秒的循环定时器 rtos.timer_start(10000, 3000, -1)
rtos.timer_stop(id)
关闭并释放一个定时器
参数
| 传入值类型 | 解释 |
|---|---|
| int | 定时器id |
返回值
| 返回值类型 | 解释 |
|---|---|
| nil | 无返回值 |
例子
-- 用户代码请使用sys.timerStop rtos.timer_stop(id)
rtos.reboot()
设备重启
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| nil | 无返回值 |
例子
无
rtos.buildDate()
获取固件编译日期
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 固件编译日期 |
例子
-- 获取编译日期 local d = rtos.buildDate()
rtos.bsp()
获取硬件bsp型号
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 硬件bsp型号 |
例子
-- 获取硬件bsp型号 local bsp = rtos.bsp()
rtos.version()
获取固件版本号
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 固件版本号,例如”V0001” |
例子
-- 读取版本号 local luatos_version = rtos.version()
rtos.standy(timeout)
进入待机模式, 仅部分设备可用, 本API已废弃, 推荐使用pm库
参数
| 传入值类型 | 解释 |
|---|---|
| int | 休眠时长,单位毫秒 |
返回值
| 返回值类型 | 解释 |
|---|---|
| nil | 无返回值 |
例子
-- 进入待机模式 rtos.standby(5000)
rtos.meminfo(type)
获取内存信息
参数
| 传入值类型 | 解释 |
|---|---|
| type | “sys”系统内存, “lua”虚拟机内存, 默认为lua虚拟机内存 |
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 总内存大小,单位字节 |
| int | 当前已使用的内存大小,单位字节 |
| int | 历史最高已使用的内存大小,单位字节 |
例子
-- 打印内存占用
log.info("mem.lua", rtos.meminfo())
log.info("mem.sys", rtos.meminfo("sys"))
rtos.firmware()
返回底层描述信息,格式为 LuatOS_$VERSION_$BSP,可用于OTA升级判断底层信息
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| string | 底层描述信息 |
例子
-- 打印底层描述信息
log.info("firmware", rtos.firmware())
rtos.setPaths(pathA, pathB, pathC, pathD)
设置自定义lua脚本搜索路径,优先级高于内置路径
参数
| 传入值类型 | 解释 |
|---|---|
| string | 路径A, 例如 “/sdcard/%s.luac”,若不传值,将默认为””,另外,最大长度不能超过23字节 |
| string | 路径B, 例如 “/sdcard/%s.lua” |
| string | 路径C, 例如 “/lfs2/%s.luac” |
| string | 路径D, 例如 “/lfs2/%s.lua” |
返回值
无
例子
-- 挂载sd卡或者spiflash后
rtos.setPaths("/sdcard/user/%s.luac", "/sdcard/user/%s.lua")
require("sd_user_main") -- 将搜索并加载 /sdcard/user/sd_user_main.luac 和 /sdcard/user/sd_user_main.lua
rtos.nop()
空函数,什么都不做
参数
无
返回值
| 返回值类型 | 解释 |
|---|---|
| nil | 无返回值 |
例子
-- 这个函数单纯就是 lua -> c -> lua 走一遍 -- 没有参数,没有返回值,没有逻辑处理 -- 在绝大多数情况下,不会遇到这个函数的调用 -- 它通常只会出现在性能测试的代码里, 因为它什么都不干. rtos.nop()
rtos.autoCollectMem(period, warning_level, force_level)#
内存自动收集配置,是lua本身收集机制的一种补充,不是必要的,而且只在luavm空闲时触发
参数
无
返回值
无
例子
无
相关文章:
LuatOS-SOC接口文档(air780E)--rtos - RTOS底层操作库
rtos.receive(timeout) 接受并处理底层消息队列. 参数 传入值类型 解释 int 超时时长,通常是-1,永久等待 返回值 返回值类型 解释 msgid 如果是定时器消息,会返回定时器消息id及附加信息, 其他消息由底层决定,不向lua层进行任何保证. 例子 无 rtos.timer_start(id…...
一名技术Leader应该是创作者
今天看了一本书叫做《黑客与画家》。它里面提到一个很重要的概念就是黑客(优秀的程序员)是一名建筑师,而不是一名工程师。 传统的主管和互联网的Leader 这两者有什么区别呢?关键点在于建筑师是思考做什么,而工程师是…...
Java多线程总结
一、概念: 1、什么是多任务 多任务就是在同一时间做多件事情,如边吃饭边玩手机等。看起来是多个任务都在做,本质上我们的大脑在同一时间依旧只做了一件件事情 2、什么是程序 程序是指令和数据的有序集合,其本身没有…...
docker devicemapper: Error running DeleteDevice dm_task_run failed
docker 删除容器,遇到: devicemapper: Error running DeleteDevice dm_task_run failed 异常 [hadoophadoop02 ~]$ sudo docker rm 5ede1280f0bf Error response from daemon: container 5ede1280f0bf791e91d40038b15decd42e8923546ae578abd96e08114c76…...
第二十章总结
一.线程简介 二.创建线程 1.继承Thread类 Thread类中常用的两个构造方法如下: public Thread():创建一个新的线程对象。 public Thread(String threadName):创建一个名称为threadName的线程对象。 继承Thread类创建一个新的线程的语法如下: public …...
Linux环境安装Java,Tomcat,Mysql,
1、Java的安装 载 jdk1.8 注:此处 CentOS7 是64位,所以下载的是:Linux x64, 文件类型为 tar.gz 的文件 JDK 官网地址:https://www.oracle.com/java/ cd /usr/local/ mkdir jdk cd jdk/tar -xvf jdk-8u202-linux-x64.…...
前后端分离开发出现的跨域问题
先说说什么是跨域。 请求的URL地址中的协议、域名、端口号中的任意一个与当前URL不同就是跨域。 比如: 当前页面的URL请求的URL是否跨域原因htttp://localhost:8080htttps://localhost:8080是协议不同htttp://localhostll:8080htttp://localhost:8080是域名不同htt…...
水淼采集器-免费水淼采集器下载
在当今数字时代,随着信息的迅猛增长,许多网站管理员面临一个共同而具有挑战性的问题——如何在短时间内获取大量优质内容,以满足用户对信息的不断需求?水淼采集器,作为一个备受瞩目的解决方案,正成为许多人…...
[DASCTF 2023 0X401七月暑期挑战赛] web刷题记录
文章目录 EzFlask方法一 python原型链污染方法二 flask框架静态文件方法三 pin码计算 MyPicDisk方法一 字符串拼接执行命令方法二 phar反序列化 ez_cms EzFlask 考点:python原型链污染、flask框架理解、pin码计算 源码如下 import uuidfrom flask import Flask, re…...
Python超级详细的变量命名规则
Python 需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。 Python 语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目…...
Zabbix 6 详细安装部署教程
目录 一、安装 MySQL 数据库 二、安装 zabbix 监控平台 三、编辑配置文件 四、启动服务 五、zabbix-web 安装 zabbix web 出图展示乱码问题解决方案 zabbix 的安装部署非常简单,官方提供了四种安装途径,分别是二进制 rpm 包安装方式、源码安装方…...
如何设置带有密码的excel只读模式?
Excel只读模式大家都不陌生,那大家知道带有密码的只读模式吗?今天给大家分享如何设置带有密码的只读模式。 打开excel文件,将文件进行【另存为】设置,然后停留在保存路径的界面中,我们点击下面的工具 – 常规选项 在常…...
企业人力资源公司抖音直播招聘断播怎么处理?
企业人力资源公司抖音直播招聘断播怎么处理? 最直接的处理方式就是进行抖音直播招聘报白,报白后在直播和视频中发布招聘和企业信息,不用担心被封禁和限制流量。 可以通过抖音直播进行招聘,也可以在视频中添加小程序,…...
数据治理与数据入表、数据交易有什么关系?
数据作为关键生产要素,其乘数效应的发挥离不开数据要素保有量的丰富程度、数据要素市场的发展成熟度以及数据要素应用路径的清晰度。财政部2023年8月21日发布了《企业数据资源相关会计处理暂行规定》,标志着企业数据资源入表迈出了0到1的关键一步。 与此…...
GitHub 2023排名前十的最佳开源项目
开源软件(OSS)彻底改变了当今软件开发的方式。在数百万个开源GitHub项目中,要找到最适合需求的开源项目可能会让人不知所措。 今天给大家列出2023年增长最快的前10个开源GitHub仓库。通过这些增长最快的开源项目,也可以从整体上了…...
抖音视频如何无水印下载,怎么批量保存主页所有视频没水印?
现在最火的短视频平台莫过于抖音,当我们刷到一个视频想下载下来怎么办?我们知道可以通过保存到相册的方式下载,但用这种方法下载的视频带有水印,而且有些视频不能保存到相册(这是视频作者设置了禁止下载)。…...
淘宝详情API接口:一键获取商品信息的实践探索
一、引言 淘宝作为中国最大的电商平台,拥有庞大的商品信息库。为了更好地利用这些数据,开发者可以通过淘宝提供的API接口来获取商品详情。本文将深入探讨如何使用淘宝详情API接口一键获取商品信息,通过实践操作和代码示例,带领读…...
在线陪诊系统: 医学科技的革新之路
医疗服务的数字化时代已经到来,而在线陪诊系统正是医学科技革新的杰出代表。通过巧妙的技术代码,这一系统不仅实现了患者和医生之间的远程互动,还将医疗服务推向了一个更加智能化的未来。在这篇文章中,我们将深入探讨在线陪诊系统…...
2. 两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …...
自研基于Xilinx PCIe的高性能多路视频采集与显示控制器
1 概述 视频采集与显示子系统可以实时采集多路视频信号,并存储到视频采集队列中,借助高效的硬实时视频帧出入队列管理和PCIe C2H DMA引擎,将采集到的视频帧实时传递到上位机采集缓冲区。在超带宽视频采集情况下,支持采集丢帧操作…...
树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法
树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
LRU 缓存机制详解与实现(Java版) + 力扣解决
📌 LRU 缓存机制详解与实现(Java版) 一、📖 问题背景 在日常开发中,我们经常会使用 缓存(Cache) 来提升性能。但由于内存有限,缓存不可能无限增长,于是需要策略决定&am…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
