合宙Air724UG LuatOS-Air script lib API--pins

pins
模块功能:GPIO 功能配置,包括输入输出IO和上升下降沿中断IO

pins.setup(pin, val, pull)
配置GPIO模式

参数
名称 传入值类型 释义
pin number GPIO,ID
GPIO 0到GPIO 31表示为pio.P0_0到pio.P0_31
GPIO 32到GPIO XX表示为pio.P1_0到pio.P1_(XX-32),例如GPIO33 表示为pio.P1_1
GPIO 64到GPIO XX表示为pio.P2_0到pio.P2_(XX-64),例如GPIO65 表示为pio.P2_1
val param number、nil或者function类型
配置为输出模式时,为number类型,表示默认电平,0是低电平,1是高电平
配置为输入模式时,为nil
配置为中断模式时,为function类型,表示中断处理函数
pull param number,pio.PULLUP:上拉模式。pio.PULLDOWN:下拉模式。pio.NOPULL:高阻态
如果没有设置此参数,默认的上下拉参考模块的硬件设计说明书
返回值
function
配置为输出模式时,返回的函数,可以设置IO的电平
配置为输入或者中断模式时,返回的函数,可以实时获取IO的电平

例子
setOutputFnc = pins.setup(pio.P1_1,0),配置GPIO 33,输出模式,默认输出低电平;
– 执行setOutputFnc(0)可输出低电平,执行setOutputFnc(1)可输出高电平
getInputFnc = pins.setup(pio.P1_1,intFnc),配置GPIO33,中断模式
– 产生中断时自动调用intFnc(msg)函数:上升沿中断时:msg为cpu.INT_GPIO_POSEDGE;下降沿中断时:msg为cpu.INT_GPIO_NEGEDGE
– 执行getInputFnc()即可获得当前电平;如果是低电平,getInputFnc()返回0;如果是高电平,getInputFnc()返回1
getInputFnc = pins.setup(pio.P1_1),配置GPIO33,输入模式
– 执行getInputFnc()即可获得当前电平;如果是低电平,getInputFnc()返回0;如果是高电平,getInputFnc()返回1
– 有些GPIO需要打开对应的ldo电压域之后,才能正常配置工作,电压域和对应的GPIO关系如下
pmd.ldoset(x,pmd.LDO_VSIM1) – GPIO 29、30、31
pmd.ldoset(x,pmd.LDO_VLCD) – GPIO 0、1、2、3、4
pmd.ldoset(x,pmd.LDO_VMMC) – GPIO 24、25、26、27、28
x=0时:关闭LDO
x=1时:LDO输出1.716V
x=2时:LDO输出1.828V
x=3时:LDO输出1.939V
x=4时:LDO输出2.051V
x=5时:LDO输出2.162V
x=6时:LDO输出2.271V
x=7时:LDO输出2.375V
x=8时:LDO输出2.493V
x=9时:LDO输出2.607V
x=10时:LDO输出2.719V
x=11时:LDO输出2.831V
x=12时:LDO输出2.942V
x=13时:LDO输出3.054V
x=14时:LDO输出3.165V
x=15时:LDO输出3.177V
– 除了上面列举出的GPIO外,其余的GPIO不需要打开特定的电压域,可以直接配置工作
详细指南和示例参考:指南 示例

pins.close(pin)
关闭GPIO模式

参数
名称 传入值类型 释义
pin number GPIO,ID

GPIO 0到GPIO 31表示为pio.P0_0到pio.P0_31

GPIO 32到GPIO XX表示为pio.P1_0到pio.P1_(XX-32),例如GPIO33 表示为pio.P1_1
返回值

例子
pins.close(pio.P1_1),关闭GPIO33


pins
模块功能:GPIO 功能配置,包括输入输出IO和上升下降沿中断IO

pins.setup(pin, val, pull)
配置GPIO模式

参数
名称 传入值类型 释义
pin number GPIO,ID
GPIO 0到GPIO 31表示为pio.P0_0到pio.P0_31
GPIO 32到GPIO XX表示为pio.P1_0到pio.P1_(XX-32),例如GPIO33 表示为pio.P1_1
GPIO 64到GPIO XX表示为pio.P2_0到pio.P2_(XX-64),例如GPIO65 表示为pio.P2_1
val param number、nil或者function类型
配置为输出模式时,为number类型,表示默认电平,0是低电平,1是高电平
配置为输入模式时,为nil
配置为中断模式时,为function类型,表示中断处理函数
pull param number,pio.PULLUP:上拉模式。pio.PULLDOWN:下拉模式。pio.NOPULL:高阻态
如果没有设置此参数,默认的上下拉参考模块的硬件设计说明书
返回值
function
配置为输出模式时,返回的函数,可以设置IO的电平
配置为输入或者中断模式时,返回的函数,可以实时获取IO的电平

例子
setOutputFnc = pins.setup(pio.P1_1,0),配置GPIO 33,输出模式,默认输出低电平;
– 执行setOutputFnc(0)可输出低电平,执行setOutputFnc(1)可输出高电平
getInputFnc = pins.setup(pio.P1_1,intFnc),配置GPIO33,中断模式
– 产生中断时自动调用intFnc(msg)函数:上升沿中断时:msg为cpu.INT_GPIO_POSEDGE;下降沿中断时:msg为cpu.INT_GPIO_NEGEDGE
– 执行getInputFnc()即可获得当前电平;如果是低电平,getInputFnc()返回0;如果是高电平,getInputFnc()返回1
getInputFnc = pins.setup(pio.P1_1),配置GPIO33,输入模式
– 执行getInputFnc()即可获得当前电平;如果是低电平,getInputFnc()返回0;如果是高电平,getInputFnc()返回1
– 有些GPIO需要打开对应的ldo电压域之后,才能正常配置工作,电压域和对应的GPIO关系如下
pmd.ldoset(x,pmd.LDO_VSIM1) – GPIO 29、30、31
pmd.ldoset(x,pmd.LDO_VLCD) – GPIO 0、1、2、3、4
pmd.ldoset(x,pmd.LDO_VMMC) – GPIO 24、25、26、27、28
x=0时:关闭LDO
x=1时:LDO输出1.716V
x=2时:LDO输出1.828V
x=3时:LDO输出1.939V
x=4时:LDO输出2.051V
x=5时:LDO输出2.162V
x=6时:LDO输出2.271V
x=7时:LDO输出2.375V
x=8时:LDO输出2.493V
x=9时:LDO输出2.607V
x=10时:LDO输出2.719V
x=11时:LDO输出2.831V
x=12时:LDO输出2.942V
x=13时:LDO输出3.054V
x=14时:LDO输出3.165V
x=15时:LDO输出3.177V
– 除了上面列举出的GPIO外,其余的GPIO不需要打开特定的电压域,可以直接配置工作
详细指南和示例参考:指南 示例

pins.close(pin)
关闭GPIO模式

参数
名称 传入值类型 释义
pin number GPIO,ID

GPIO 0到GPIO 31表示为pio.P0_0到pio.P0_31

GPIO 32到GPIO XX表示为pio.P1_0到pio.P1_(XX-32),例如GPIO33 表示为pio.P1_1
返回值

例子
pins.close(pio.P1_1),关闭GPIO33

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

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

相关文章

无涯教程-Perl - each函数

描述 在列表context中调用此函数时,将返回一个由2个元素组成的列表,该列表由哈希的下一个元素的键和值组成,以便您可以对其进行迭代。在标量context中调用时,仅返回哈希中下一个元素的键。 语法 以下是此函数的简单语法- each HASH返回值 在列表context中调用此函数时,将返…

前端面试的性能优化部分(5)每天10个小知识点

目录 系列文章目录前端面试的性能优化部分(1)每天10个小知识点前端面试的性能优化部分(2)每天10个小知识点前端面试的性能优化部分(3)每天10个小知识点前端面试的性能优化部分(4)每天…

(文章复现)建筑集成光储系统规划运行综合优化方法matlab代码

参考文献: [1]陈柯蒙,肖曦,田培根等.一种建筑集成光储系统规划运行综合优化方法[J].中国电机工程学报,2023,43(13):5001-5012. 1.基本原理 本文建立的双层耦合模型内、外层分别对应求解容量配置与能量调度问题。外层模型设置光伏与储能容量备选集并将容量配置组合…

实战项目——多功能电子时钟

一,项目要求 二,理论原理 通过按键来控制状态机的状态,在将状态值传送到各个模块进行驱动,在空闲状态下,数码管显示基础时钟,基础时钟是由7个计数器组合而成,当在ADJUST状态下可以调整时间&…

用Rust实现23种设计模式之 外观模式

关注我,学习Rust不迷路!! 外观模式是一种结构型设计模式,它提供了一个统一的接口,用于访问子系统中的一组接口。以下是外观模式的优点和使用场景: 优点: 简化客户端代码:外观模式…

精准营销:私域用户运营的成功之道

随着市场竞争的加剧和用户对个人隐私的关注,企业越来越重视私域用户运营,这不仅可以有效提高用户忠诚度,还可以实现更精准的营销。精准营销强调通过深入了解用户需求和行为,实现精准推送和个性化服务,从而提升用户体验…

17款奔驰S400升级原厂前排座椅通风系统,夏天必备的功能

通风座椅的主动通风功能可以迅速将座椅表面温度降至适宜程度,从而确保最佳座椅舒适性。该功能启用后,车内空气透过打孔皮饰座套被吸入座椅内部,持续时间为 8 分钟。然后,风扇会自动改变旋转方向,将更凉爽的环境空气从座…

拦截器——Interceptor及与过滤器区别

目录 spring中拦截器 过滤器跟拦截器的区别 HandlerInterceptor拦截器 拦截器工作原理 拦截器使用场景 定义拦截器 LoginInterceptor 注册拦截器 MethodInterceptor拦截器 方式一:继承 MethodInterceptor 方式二:基于注解的AspectJ方…

nginx的优化与防盗链

目录 隐藏版本号 方法一 方法二 nginx日志分割 nginx页面压缩 链接超时 TIME_WAIT 内核设置进行优化 防盗链 配置防盗链 fpm参数优化 隐藏版本号 方法一 修改配置文件 cd /usr/local/nginx/conf/ cp nginx.conf nginx.conf.bak.2023.0805 vim nginx.conf 在http…

用于大型图像模型的 CNN 内核的最新内容

一、说明 由于OpenAI的ChatGPT的巨大成功引发了大语言模型的繁荣,许多人预见到大图像模型的下一个突破。在这个领域,可以提示视觉模型分析甚至生成图像和视频,其方式类似于我们目前提示 ChatGPT 的方式。 用于大型图像模型的最新深度学习方法…

基于自组织竞争网络的患者癌症发病预测(matlab代码)

1.案例背景 1.1自组织竞争网络概述 前面案例中讲述的都是在训练过程中采用有导师监督学习方式的神经网络模型。这种学习方式在训练过程中,需要预先给网络提供期望输出,根据期望输出来调整网络的权重,使得实际输出和期望输出尽可能地接近。但是在很多情况下,在人们认知的过程中…

机器学习之弹性网络(Elastic Net)

弹性网络 代码原文 下面代码参考scikit-learn中文社区,链接在上面。 但是由于scikit-learn中文社区上的代码有些地方跑不通,故对此代码做了修改,输出结果与社区中显示的结果相同。 对弹性网络进行简单的介绍: ElasticNet是一个训…

第八篇: K8S Prometheus Operator实现Ceph集群企业微信机器人告警

Prometheus Operator实现Ceph集群企业微信告警 实现方案 我们的k8s集群与ceph集群是部署在不同的服务器上,因此实现方案如下: (1) ceph集群开启mgr内置的exporter服务,用于获取ceph集群的metrics (2) k8s集群通过 Service Endponit Ser…

【VALSE2023】0610 胡瀚《视觉自监督学习年度进展评述》

from: https://www.bilibili.com/video/BV1J44y1w79r 文章目录 自监督学习年度进展技术进展趋势一:掩码图像建模的改进技术进展二:发现掩码图像建模对**大模型**比较友好技术进展三:针对**小模型**的掩码图像建模训练技术进展四&a…

Unity Shader编辑器工具类ShaderUtil 常用函数和用法

Unity Shader编辑器工具类ShaderUtil 常用函数和用法 Unity的Shader编辑器工具类ShaderUtil提供了一系列函数,用于编译、导入和管理着色器。本文将介绍ShaderUtil类中的常用函数和用法。 编译和导入函数 CompileShader 函数签名:public static bool C…

web前端转正工作总结范文5篇

web前端转正工作总结(篇1) 来到__有限公司已经三个月了,目前的工作是前端开发,我是一名应届毕业生,之前没有过工作经验,在刚来到__这个大家庭的时候,我就被这里的工作气氛深深地吸引&#xff0…

Elastic的下载

文章目录 ElasticSearch的下载扩展1(ElasticSearch 与 JDK 版本 适配)扩展2(访问 http://192.168.1.200:9200 没有显示信息)扩展3(免密登录) ElasticSearch的下载 官方下载网址:https://www.el…

电脑维护进阶:让你的“战友”更强大、更持久!

前言 无论是学习还是工作,电脑已经成为了IT人必不可少的得力助手。然而,电脑的性能和寿命需要经过细心的维护来保证。本文将详细探讨如何维护你的电脑,延长它的寿命,以及一些实用建议。 硬件保养篇 内部清洁 灰尘会导致电脑散热…

在 Ubuntu 上安装 Docker 桌面

Ubuntu 22.04 (LTS) 安装 Docker 桌面 要成功安装 Docker Desktop,您必须: 满足系统要求拥有 64 位版本的 Ubuntu Jammy Jellyfish 22.04 (LTS) 或 Ubuntu Impish Indri 21.10。对于非 Gnome 桌面环境,必须安装 gnome-terminal:…

数字孪生技术的实用价值体现在哪?

随着科技的不断进步,数字孪生技术已成为引领未来发展的重要驱动力。数字孪生是将现实世界与数字世界紧密结合的技术,通过创建虚拟的物理模型,实时模拟和分析真实世界中的物体和过程,让数字孪生在各个领域都展现出了巨大的潜力&…