H7-TOOL的LUA小程序教程第14期:任意波形信号发生器,0-20mA输出和微型数控电源(2024-10-11,已更新)

LUA脚本的好处是用户可以根据自己注册的一批API(当前TOOL已经提供了几百个函数供大家使用),实现各种小程序,不再限制Flash里面已经下载的程序,就跟手机安装APP差不多,所以在H7-TOOL里面被广泛使用,支持在线调试运行,支持离线运行。TOOL的LUA教程争取做到大家可以无痛调用各种功能函数,不需要学习成本。
 



简介

信号发生器,0-20mA输出和微型数控电源,可以在上位机端设置,也可以显示屏端设置

详细使用说明可以看在线或者离线操作说明手册:H7-TOOL操作说明和客户常见问题汇总贴,含PDF离线版(2024-08-16) - H7-TOOL开发工具 - 硬汉嵌入式论坛 - Powered by Discuz!

建议优先熟悉下,特别是对应的信号发生器和0-20mA输出引脚。

1、上位机端设置


2、显示屏端设置


LUA函数说明:

1、打开和关闭DAC

函数 dac_on()   打开DAC电源

函数dac_off()    关闭DAC电源

这两个函数都是直接调用即可。由于信号发生器和0-40mA输出都是通过DAC实现的,所以调用这两个函数可以实现信号发生器和0-40mA输出开关。

2、写DAC数值

函数dac_write(参数1)

参数1:范围0-4095,用于写DAC值,因为是12bit DAC,所以范围是0-4095

函数dac_volt2dac(参数1)

参数1:单位mV,支持正负10V,对应的数值范围是-10000到10000,即-10000mV到10000mV,用于电压值换算为DAC值

函数dac_curr2dac(参数1) 

参数1:单位uA,支持0-20mA,对应的参数范围是0到20000,即0uA到20000uA,用于电流值换算为DAC值

举例:

这三个函数同样是直接调用即可,这三个函数推荐配合使用, 

比如设置电流输出10mA,  那么我们就可以:
local value

dac_on()
value = dac_curr2dac(10000)
dac_write(value)

又比如设置输出电压5V,那么我们就可以:
local value

dac_on()
value = dac_volt2dac(5000)
dac_write(value)

3、写电压和电流

函数dac_volt(参数1)

参数1:写电压值,单位mV,支持正负10V,对应的数值范围是-10000到10000,即-10000mV到10000mV

函数dac_curr(参数1)

参数1:写电流值,单位uA,支持0-20mA,对应的参数范围是0到20000,即0uA到20000uA

举例1:

函数dac_volt等效于dac_volt2dac + dac_write, 比如设置输出电压5V,那么我们就可以:
local value

dac_on()
dac_volt(5000)

函数dac_curr等效于dac_curr2dac + dac_write,比如设置电流输出10mA,  那么我们就可以:
local value

dac_on()
dac_curr(10000)

使用另外一个TOOL的4-20mA输入采集,实际电流效果:

使用台式万用表测量实际值


4、TVCC微型数控电源

函数write_tvcc_dac(参数1)

参数1:用于设置TVCC的DAC值,范围0 -127

函数write_tvcc_volt(参数1)

参数1:用于设置TVCC的电压,单位mV,范围1.2V - 5.0V,即1200mV - 5000mV

举例:

推荐使用函数write_tvcc_volt设置电压值,比如设置输出3.3V,那么就是write_tvcc_volt(3300)

5、信号发生器输出

函数lua_DacWaveStop()

无形参和返回值,直接调用即可,用于停止信号发生器输出。

函数lua_DacWaveStart(参数1, 参数2, 参数3)

参数1:波形数据缓冲

注意这个缓冲是每两个字节组成一个DAC值,值得范围是0-4095,  并且数值是以字符串形式填写才行,为了方便大家使用,需要使用函数dac_volt2dac做转换即可。

参数2:是输出一个波形数据点的速度

参数3:0表示无限输出,1表示输出一次。

举例:

比如周期性输出8个数值的波形,1123mV,  556mV, 2445mV,  5334mV,  -3334mV,  -5556mV,,  7890mV,  3231mV。

代码实现如下:

-- 定义一个空数组
local Volt = {1123, 556, 2445,  5334, -3334,  -5556,  7890, 3231}-- 定义要赋值的数值
local DacValues = ""-- 使用 for 循环将数值赋值给数组的每个成员
for i = 1, #Volt doDacValues = DacValues..dac_volt2dac(Volt[i])
enddac_on()
dac_wave_start(DacValues,10000,0)
print("开始波形输出")

动态效果:

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

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

相关文章

矩阵系统源码搭建,oem贴牌,技术指导

一、技术选型与整合 多种技术的融合 矩阵系统通常需要整合多种技术,包括前端技术、后端技术、数据库技术、服务器技术等。选择合适的技术栈并确保它们能够良好地协同工作是一个挑战。例如,前端可能使用 React 或 Vue.js,后端可能使用 Java Sp…

解决新版Android studio不能连接手机的问题

我要说的是一个特例,装了22年的版本AS可以正常连接手机,装了23年以后新版本,AS不能正常连接手机了,但是在CMD控制台可以正常的执行adb命令,并且CMD和AS都是指向D:\android_sdk\platform-tools\adb.exe 一、 为什么会出…

消息队列面试题——第二篇

1. rocketmq、rabbitmq、kafka的区别 架构设计和消息模型 特性rocketmqrabbitmqkafka消息模型基于主题和消费组,支持发布/订阅和点对点两种模型基于队列模型,支持发布/订阅和点对点两种模型基于分区的主题模型,主要用于日志流式处理和高吞吐…

完成Sentinel-Dashboard控制台数据的持久化-同步到Nacos

本次案例采用的是Sentinel1.8.8版本 一、Sentinel源码环境搭建 1、下载Sentinel源码工程 git clone https://github.com/alibaba/Sentinel.git 2、导入到idea 这里可以先运行DashboardApplication.java试一下是否运行成功,若成功,源码环境搭建完毕&a…

IDEA Sping Boot 多配置文件application Maven动态切换

新建application-dev.yml与application-prod.yml pom.xml文件下添加profiles等 让idea识别出配置文件 <profiles><profile><id>dev</id><properties><!-- 环境标识&#xff0c;需要与配置文件的名称相对应 --><profiles.active>dev&…

基于京东:HotKey实现自动缓存热点Key!!!

一.引言 某些热点数据&#xff0c;我们提前如果能够预判到的话&#xff0c;可以提前人工给数据加缓存&#xff0c;也就是缓存预热&#xff0c;将其缓存在本地或者Redis中&#xff0c;提高访问性能同时&#xff0c;减低数据库压力&#xff0c;也减轻后端服务的压力。但是&#…

大顶堆优化dp,带限制的子序列

前言&#xff1a;看到这个题目的时候我们可以用大顶堆记录前面的最大值&#xff0c;这样我们转移的时候就少了很多繁琐的查询 题目地址 class Solution { public:int constrainedSubsetSum(vector<int>& nums, int k) {int n nums.size();vector<int> ans nu…

【计算机网络 - 基础问题】每日 3 题(三十八)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

小米路由器刷机istoreOS,愉快上网

istoreOS与openwrt openwrt是一个开源的路由器系统&#xff0c;市场上所有小米路由器的内部系统都是基于openwrt进行二次开发形成的&#xff0c;做了硬件适配和功能上的阉割&#xff0c;不太好用。 istoreos是小宝团队基于openwrt制作的一个发行版&#xff0c;更适合中国宝宝体…

计算机网络:数据链路层 —— 网络适配器与 MAC 地址

文章目录 网络适配器使用网络适配器网络适配器类型 MAC 地址MAC 地址格式MAC 地址类型MAC 地址发送顺序数据接收MAC 地址泄露问题 网络适配器 要将计算机连接到以太网&#xff0c;需要使用相应的网络适配器&#xff08;Adapter)&#xff0c;网络适配器一般简称为“网卡”。在计…

AirServer v7.2.7 破解版 – iPhone屏幕镜像工具

AirServer v7.2.7 破解版 – iPhone屏幕镜像工具可以将你的Mac转变为一个通用的镜像接收器&#xff0c;除了无法接收Miracast外&#xff0c;你可以使用内置的AirPlay或Google Cast基于屏幕投影功能来镜像你的设备屏幕&#xff1b;一次一个或同时投影到AirServer。用户可以从任何…

TGRS 2024 面向雾天遥感图像的定向目标检测算法

TGRS 2024 | 面向雾天遥感图像的定向目标检测算法 论文信息 摘要 目前&#xff0c;大量工作集中在航空目标检测上&#xff0c;并取得了良好的结果。尽管这些方法在传统数据集上取得了有希望的结果&#xff0c;但在恶劣天气条件下捕获的低质量图像中定位对象仍然具有挑战性。目…

数据库课程 CMU15-445 2023 Fall Project-2 Extendible Hash Index

0 实验结果 tips:完成项目的前提不需要一定看视频 1 数据结构&#xff1a;扩展哈希 解释下这张图&#xff1a; 图中header的最大深度2&#xff0c;directory最大深度2&#xff0c;桶的容量2。 最开始的时候只有一个header。 插入第一个数据&#xff0c;假设这个数据对应的哈希…

[自然语言处理]RNN

1 传统RNN模型与LSTM import torch import torch.nn as nntorch.manual_seed(6)# todo:基础RNN模型 def dem01():参数1&#xff1a;input_size 每个词的词向量维度&#xff08;输入层神经元的个数&#xff09;参数2&#xff1a;hidden_size 隐藏层神经元的个数参数3&#xff1a…

【puppeteer】wvp-puppeteer制作 过程

目录 最后的结论 制作windows&ubuntu的docker 重启桌面上的docker 命令重启 通过 Docker Desktop 图形界面重启 制作centos docker 测试 参考文档 最后的结论 ubuntu && windows 使用 dualvenregistry:5000/wvp-puppeteer:1.0 centos7 使用&#xff1a;…

RabbitMQ事务模块

目录 消息分发​​​​​​​ 负载均衡 幂等性保障 顺序性保障 顺序性保障方案 二号策略:分区消费 三号策略:消息确认机制 四号策略: 消息积压 RabbitMQ集群 选举过程 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制&#xff0c;要么全部成功&#xff0c;要么全…

Java——数组的定义与使用

各位看官&#xff1a;如果您觉得这篇文章对您有帮助的话 欢迎您分享给更多人哦 感谢大家的点赞收藏评论&#xff0c;感谢您的支持&#xff01;&#xff01;&#xff01; 一&#xff1a;数组的概念以及定义,初始化 1.1&#xff1a;数组概念以及定义 数组概念&#xff1a;可以看成…

四边形网格生成算法:Q-Morph(三)底边生成四边形

欢迎关注更多精彩 关注我&#xff0c;学习常用算法与数据结构&#xff0c;一题多解&#xff0c;降维打击。 参考论文&#xff1a;Q-Morph an indirect approach to advancing front quad meshing ε − π − θ ∈ ⋅ \varepsilon - \pi - \theta \in \cdot ε−π−θ∈⋅ …

通过redis实现高性能计费处理逻辑

计费服务一般都是跟资金相关&#xff0c;所以它在系统中是非常核心的模块&#xff0c;要保证服务的高可用、事务一致性、高性能。服务高可用需要集群部署&#xff0c;要保证事务一致性可以通过数据库来实现&#xff0c;但是只通过数据库却很难实现高性能的系统。 这篇文章通过使…

解锁5 大无水印热门短视频素材库

想让你的抖音视频更出彩吗&#xff1f;想知道那些爆款视频的素材源头吗&#xff1f;快来了解以下 5 个超棒的视频素材下载平台。 蛙学网 国内的视频素材佼佼者&#xff0c;有大量 4K 高清且无水印的素材&#xff0c;自然风光、情感生活等类别任你选&#xff0c;不少还免费&…