LuatOS-SOC接口文档(air780E)-- ioqueue - io序列操作
ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt)
初始化一个io操作队列
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id,默认用0,根据实际MCU确定,air105为0~5,与pwm共用,同一个通道号不能同时为pwm和ioqueue |
| int | 一个完整周期需要的命令,可以比实际的多 |
| int | 重复次数,默认是1,如果写0则表示无限次数循环 |
| return | 无 |
返回值
无
例子
ioqueue.init(0,10,5) --以timer0为时钟源初始化一个io操作队列,有10个有效命令,循环5次
ioqueue.setdelay(hwtimer_id,time_us,time_tick,continue)
对io操作队列增加延时命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| int | 延时时间,0~65535us |
| int | 延时微调时间,0~255tick,总的延时时间是time_us * 1us_tick + time_tick |
| boolean | 是否连续是连续延时,默认否,如果是,定时器在时间到后不会停止而是重新计时, |
返回值
无
例子
无
ioqueue.delay(hwtimer_id)
对io操作队列增加一次重复延时,在前面必须有setdelay且是连续延时
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| return | 无 |
返回值
无
例子
ioqueue.setdelay(0,9,15,true) --延时9us+15个tick,在之后遇到delay命令时,会延时9us+15个tick ioqueue.delay(0)
ioqueue.setgpio(hwtimer_id,pin,is_input,pull_mode,init_level)
对io操作队列增加设置gpio命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| int | pin |
| boolean | 是否是输入 |
| int | 上下拉模式,只能是0,gpio.PULLUP,gpio.PULLDOWN |
| int | 初始输出电平 |
| return | 无 |
返回值
无
例子
ioqueue.setgpio(0,pin.PB01,true,gpio.PULLUP,0) --PB01设置成上拉输入 ioqueue.setgpio(0,pin.PB01,false,0,1)--PB01设置成默认上下拉输出高电平
ioqueue.input(hwtimer_id,pin)
对io操作队列增加读取gpio命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| int | pin |
| return | 无 |
返回值
无
例子
ioqueue.input(0,pin.PB01)
ioqueue.output(hwtimer_id,pin,level)
对io操作队列增加输出GPIO命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| int | pin |
| int | 输出电平 |
| return | 无 |
返回值
无
例子
ioqueue.output(0,pin.PB01,0)
ioqueue.setcap(hwtimer_id,pin,pull_mode,irq_mode,max_tick)
对io操作队列增加设置捕获某个IO命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| int | pin |
| int | 上下拉模式,只能是0,gpio.PULLUP,gpio.PULLDOWN |
| int | 中断模式,只能是gpio.BOTH,gpio.RISING,gpio.FALLING |
| int | 定时器最大计时时间 考虑到lua是int类型,最小0x10000, 最大值为0x7fffffff,默认为最大值 |
| return | 无 |
返回值
无
例子
ioqueue.setcap(0,pin.PB01,gpio.PULLUP,gpio.FALLING,48000000)
ioqueue.capture(hwtimer_id)
对io操作队列增加捕获一次IO状态命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| return | 无 |
返回值
无
例子
ioqueue.capture(0)
ioqueue.capend(hwtimer_id,pin)
对io操作队列增加结束捕获某个IO命令
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| int | pin |
| return | 无 |
返回值
无
例子
ioqueue.capend(0,pin.PB01)
ioqueue.get(hwtimer_id, input_buff, capture_buff)
-
获取io操作队列中输入和捕获的数据
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| zbuff | 存放IO输入数据的buff,按照1byte pin + 1byte level 形式存放数据 |
| zbuff | 存放IO捕获数据的buff,按照1byte pin + 1byte level + 4byte tick形式存放数据 |
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回多少组IO输入数据 |
| int | 返回多少组IO捕获数据 |
例子
local input_cnt, capture_cnt = ioqueue.get(0, input_buff, capture_buff)
ioqueue.start(hwtimer_id)
启动io操作队列
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| return | 无 |
返回值
无
例子
ioqueue.start(0)
ioqueue.stop(hwtimer_id)
停止io操作队列,可以通过start从头开始
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
返回值
| 返回值类型 | 解释 |
|---|---|
| int | 返回已经循环的次数,如果是0,表示一次循环都没有完成 |
| int | 返回单次循环中已经执行的cmd次数,如果是0,可能是一次循环刚刚结束 |
例子
ioqueue.stop(0)
ioqueue.release(hwtimer_id)
释放io操作队列的资源,下次使用必须重新init
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| return | 无 |
返回值
无
例子
ioqueue.clear(0)
ioqueue.clear(hwtimer_id)
清空io操作队列
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
| return | 无 |
返回值
无
例子
ioqueue.clear(0)
ioqueue.done(hwtimer_id)
检测io操作队列是否已经执行完成
参数
| 传入值类型 | 解释 |
|---|---|
| int | 硬件定时器id |
返回值
| 返回值类型 | 解释 |
|---|---|
| boolean | 队列是否执行完成, |
例子
local result = ioqueue.done(0)
ioqueue.exti(pin,pull_mode,irq_mode,onoff)
启动/停止一个带系统tick返回的外部中断
参数
| 传入值类型 | 解释 |
|---|---|
| int | pin |
| int | 上下拉模式,只能是0,gpio.PULLUP,gpio.PULLDOWN |
| int | 中断模式,只能是gpio.BOTH,gpio.RISING,gpio.FALLING |
| boolean | 开关,默认是false关 |
| return | 无 |
返回值
无
例子
ioqueue.exti(pin.PB01, gpio.PULLUP, gpio.BOTH, true) ioqueue.exti(pin.PB01)
相关文章:
LuatOS-SOC接口文档(air780E)-- ioqueue - io序列操作
ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt) 初始化一个io操作队列 参数 传入值类型 解释 int 硬件定时器id,默认用0,根据实际MCU确定,air105为0~5,与pwm共用,同一个通道号不能同时为pwm和ioqueue int 一个完…...
探讨Socks5代理技术的原理及其在不同领域的应用
Socks5代理:实现网络连接的智能之选 作为一种网络代理协议,Socks5代理技术通过转发网络数据包,实现了客户端和服务器之间的代理传输。其独特的特性在跨界电商、爬虫数据分析、企业出海和游戏体验等领域发挥着关键作用,为用户提供…...
sql注入的基本手法
目的 通过sqk注入获取数据内容 掌握sql注入基本手法 我们这里使用 1.联合注入 就是利用union select 语句 两条语句 同时执行 实现跨库跨表查询 条件 两条select语句查询结果具有相同列数 对应列数数据类型相同 简单的步骤 1.目标分析 ?id…...
8.1 C++ 标准输入输出流
C/C语言是一种通用的编程语言,具有高效、灵活和可移植等特点。C语言主要用于系统编程,如操作系统、编译器、数据库等;C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统、图形用户界面、嵌入式系统等。…...
hive往es映射表写数据报错
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转…...
2023年【广东省安全员A证第四批(主要负责人)】考试试卷及广东省安全员A证第四批(主要负责人)模拟考试
题库来源:安全生产模拟考试一点通公众号小程序 广东省安全员A证第四批(主要负责人)考试试卷根据新广东省安全员A证第四批(主要负责人)考试大纲要求,安全生产模拟考试一点通将广东省安全员A证第四批&#x…...
YOLOv5算法改进(15)— 如何去更换Neck网络(包括代码+添加步骤+网络结构图)
前言:Hello大家好,我是小哥谈。在学习完了如何去更换主干网络之后,接着就让我们通过案例的方式去学习下如何去更换Neck网络。本篇文章的特色就是比较浅显易懂,附加了很多的网络结构图,通过结构图的形式向大家娓娓道来,希望大家学习之后能够有所收获!🌈 前期回顾: YO…...
用Nginx搭建一个具备缓存功能的反向代理服务
在同一台服务器上,使用nginx提供服务,然后使用openresty提供反向代理服务。 参考《Ubuntu 20.04使用源码安装nginx 1.14.0》安装nginx。 参考《用Nginx搭建一个可用的静态资源Web服务器》搭建静态资源Web服务器,但是/nginx/conf/nginx.conf里…...
YOLOv5改进实战 | 更换主干网络Backbone(三)之轻量化模型Shufflenetv2
前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…...
【Markdown】 Markdown 操作备忘录
To Do List 显示目前todo list 的状态 getLogger() 单例类, 通过引入模块,获取单例日志对象 结果可视化调研 模型结果保存及测试 - [ ] getLogger() 单例类, 通过引入模块,获取单例日志对象 - [ ] 结果可视化调研 - [x] 模型结果…...
【自动化测试】基于Selenium + Python的web自动化框架
一、什么是Selenium? Selenium是一个基于浏览器的自动化工具,她提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:Selenium IDE、Selenium WebDriver 和Selenium Grid: 1、Selenium IDE&…...
zookeeper连接客户端操作数据时报错Socket is not connected
文章目录 一、报错信息二、问题描述三、原因分析:四、解决方案: 一、报错信息 DEBUG org.apache.zookeeper.ClientCnxnSocketNIO - Ignoring exception during shutdown input java.net.SocketException: Socket is not connectedat sun.nio.ch.Net.tra…...
mysql select语句中from 之后跟查询语句
概念:将from后面的查询语句放在FROM的后面,则查询到的结果,就会被当成一个“表”; 这里有一个特别要注意的地方,放在FROM后面的子查询,必须要加别名。 select dui.id,dui.party_service_id mes_id, dui.party_id,dui.…...
Yolov8小目标检测(26):多尺度空洞注意力(MSDA) | 中科院一区顶刊 DilateFormer 2023.9
💡💡💡本文独家改进:多尺度空洞注意力(MSDA)采用多头的设计,在不同的头部使用不同的空洞率执行滑动窗口膨胀注意力(SWDA),全网独家首发,创新力度十足,适合科研 多尺度空洞注意力(MSDA) | 亲测在红外弱小目标检测涨点,map@0.5 从0.755提升至0.784 💡�…...
NLP:从头开始的文本矢量化方法
一、说明 NLP 项目使用文本,但机器学习算法不能使用文本,除非将其转换为数字表示。这种表示通常称为向量,它可以应用于文本的任何合理单位:单个标记、n-gram、句子、段落,甚至整个文档。 在整个语料库的统计 NLP 中&am…...
Kotlin 中 apply、let、also、run的区别
apply apply 函数接收一个目标并回来该目标自身。它答应您在目标上履行一些操作,同时仍然回来原始目标。 fun <T> T.apply(block: T.() -> Unit): TT 是目标的类型,block 是一个 lambda 表达式,能够在该目标上履行一些操作。在这个…...
Android JKS MD5 SHA1 公钥生成 私钥生成 APP备案 内容获取
1 查看 jks keytool -list -v -keystore /Users/lipengfei/Desktop/android/androidproject.jks密钥库类型: jks 密钥库提供方: SUN您的密钥库包含 1 个条目别名: ddgj 创建日期: 2018-11-16 条目类型: PrivateKeyEntry 证书链长度: 1 证书[1]: 所有者: CNcn, OUcn, Ocn, Lcn,…...
常用linux的命令(持续更新)
1.防火墙相关 centos7 防火墙 查状态:systemctl status firewalld.service 关闭:systemctl disable firewalld.service 重启生效 关闭:systemctl stop firewalld.service 马上生效 systemctl stop firewalld 临时关闭防火墙 systemctl disabl…...
《动手学深度学习 Pytorch版》 8.7 通过时间反向传播
8.7.1 循环神经网络的梯度分析 本节主要探讨梯度相关问题,因此对模型及其表达式进行了简化,进行如下表示: h t f ( x t , h t − 1 , w h ) o t g ( h t , w o ) \begin{align} h_t&f(x_t,h_{t-1},w_h)\\ o_t&g(h_t,w_o) \end{ali…...
2023-10-20 游戏开发-cocos旧版本2.0.6-下载地址-记录
官方下载地址: Cocos Creator 下载 - 轻量高效的开发引擎 Tags cocos/cocos-engine GitHub cocos creater 旧版本: Tool/Package/REAMDE.md adofsauron/CocosCreatorFAQ - Gitee.com v2.0.6版本: Mac版:http://cocos2d-x.org/filedown/CocosStudioForMac-v2.0.…...
龙虎榜——20250610
上证指数放量收阴线,个股多数下跌,盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型,指数短线有调整的需求,大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的:御银股份、雄帝科技 驱动…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
C++.OpenGL (10/64)基础光照(Basic Lighting)
基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
20个超级好用的 CSS 动画库
分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码,而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库,可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画,可以包含在你的网页或应用项目中。 3.An…...
vulnyx Blogger writeup
信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
