大彩串口屏使用记录

news2024/9/23 11:23:29

写在最前面

屏幕型号 DC10600M070
IDE VisualTFT(官方) VSCode(lua编程)
用之前看一下官方那个1小时的视频教程就大概懂控件怎么用了,用官方的软件VisualTFT很简单
本文只是简单记录遇到的一些坑


lua编辑器

VisualTFT是有lua编辑器的,在【工具】那里点开【lua编辑器】就可以进入,使用其他编辑器之前也好好看一下官方的这段注释。
在这里插入图片描述官方编辑器打字有种奇妙的卡顿感,我用的vscode不会。
VisualTFT生成工程的lua脚本的编码是 GB2312,使用其他编辑器的时候注意以这个编码打开这样中文注释就不会乱码了。
顺便如果要编写一些简单的LUA测试小脚本推荐使用在线工具,https://c.runoob.com/compile/66/ 菜鸟教程的这个很好用。vscode好像我试过print输出有问题,查了下要改配置还挺麻烦遂放弃。

Lua数组 如何从0开始索引

因为屏幕脚本用Lua脚本写的,写的就现学了lua脚本语言,很简单,和python差不多,但是lua最大的一个坑是他的默认数组索引是从1开始的不是从0开始,然后屏幕厂商给的api要用到的数组索引全是从0开始的。刚开始学的时候没注意以为数组都是0开始,坑死我了(讨厌lua)

默认创建的数组 索引从1开始(以下测试脚本使用在线工具编写)

print("Hello World!")
local a = {1, 2}
for i=0, 3, 1 do
	print(i)
	print(a[i])
end
-- 输出 
Hello World!
0
nil
1
1
2
2

创建从0开始的数组

print("Hello World!")
local a = {[0]=1, 2}
for i=0, 2, 1 do
	print(i)
	print(a[i])
end
-- 输出
Hello World!
0
1
1
2
2
nil

通用列表控件显示彩色文字

官方的叫法是数据记录控件,我这边通称列表了
因为项目需要记录报警信息,但是官方提供的告警记录控件不符合需求,给的列表控件文字只能显示为1个颜色,就是说你改成红色文字列表里所有文字都是红的,不能像告警一样一行显示红色,一行显示蓝色。但是告警记录控件可记录的内容受到的限制很大。
在这里插入图片描述
告警控件如下图,选择列表控件然后更改【记录类型】就可以在这里插入图片描述最后想出来的解决办法(也没完全解决)是使用列表显示ICON图标【详见官方的】,图标使用官方VisualTFT的图标生成工具生成的。而且图标显示的内容是固定的(就是在列表里显示图片),所以只用来显示内容不变的文本,比如“xx事件”,像数值这种动态变化的文本就还是只能使用列表默认的颜色来显示。
效果如下(样例数据随便写的)
在这里插入图片描述

列表控件的上限

咨询屏幕厂商得到的数据,列表预留的空间不能超过131072【型号 DC10600M070】,否则列表内容将不能正常在屏幕上显示(在电脑上模拟没问题,用屏幕的时候会直接列表为空)。
单个表的预留空间 = 单条记录大小*最大记录数
在这里插入图片描述
我基本上使用record_add这个api添加列表记录 ,该API的格式是record_add(screen_id, control_id, str),str使用英文分号分隔开表示为不同列的内容。测试后发现单条记录大小大概等于这个str字符串的长度(不确定),如果你单条记录大小设置的太小的话,小于str的长度,可能会出现最后几列内容为空的情况。

串口通信测试/虚拟串口

使用虚拟串口Virtual Serial Port Driver可以在本机上对虚拟串口屏的通信进行测试,官方有提供这个软件的安装包。
在这里插入图片描述
打开选择想要用的两个串口号点【Add pair】就可以添加了,添加成功在左边列表可以看到(上面的是真实的物理串口),这里使用给的是COM2和COM5两个端口号。
用visualTFT运行虚拟串口,然后进行串口配置并且点击【打开串口】,串口号选择刚刚配置的端口号的其中一个(COM2)就可以了。
在这里插入图片描述
另外开一个串口软件,这里使用sscom,串口号选择配置的另外一个虚拟串口(COM5),波特率与刚刚配置的虚拟串口屏的波特率一致就可以。
在这里插入图片描述

关于曲线

官方给了两种曲线控件都不符合需求(。。。
然后自己画了,就用两点间直线连接的老方法,就用draw_line这个接口函数。
这个功能折磨了我一个月,最后效果还不错。

曲线测试(没啥好看的)

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

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

相关文章

DOCKER容器中安装JDK1. 8 详细步骤

1、首先检查DOCKER环境是否安装成功 docker version在命令输入docker version命令显示如上图所示,则说明docker容器已经安装成功了,下面只需要根据步骤一步步操作即可在docker容器安装JDK。 2、通过DOCKER SEARCH命令查找远程镜像 docker search jdk3…

南京邮电大学操作系统实验报告一(Linux系统及进程创建)

文章目录 一、实验目的二、实验内容三、实验步骤(附程序原码)四、运行结果及其结果分析 一、实验目的 掌握Linux 操作系统的操作和使用;掌握Linux 下C 语言的编辑、编译、运行的全过程;掌握进程创建系统调用的使用。 二、实验内容 熟悉Linux 运行环境…

uview ui 查看版号

版本查询2种方式 有两种方式可以查询到正在使用的uView的版本: // 通过console.log打印的形式 console.log(uni.$u.config.v);// 可以查阅uView的配置文件得知当前版本号,具体位置为: /uview-ui/libs/config/config.js

实现文件上下文管理(__enter__和__exit__)

目录 一、上下文管理协议 二、模拟open 三、优点 python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm1001.2014.3001.5502 我们知道在操作文件对象的时候可以这么写 with open(a.txt) as f:代码块 上述叫做上下文管理…

Redis初始以及安装

"梦却了无影踪,梦仍不曾改动" 初始Redis (1) Redis是什么? 要认识、学习一个软件,最重要的途径无一是去该软件的官方文档里瞅瞅、转悠转悠。 从官方文档的介绍中得知,Redis是一种工作于内存,…

神奇小队之我爱画画

《神奇小队之我爱画画》,是南通神笔动漫科技有限公司2022年推出的原创系列动画剧集。 南通神笔动漫创立于2020年4月,公司专注于2-12岁儿童内容策划、运营文创企业。公司主要运营动漫IP《神奇画笔》,项目于2020年创立《神奇画笔》儿童IP&…

GBU812-ASEMI逆变器专用整流桥GBU812

编辑:ll GBU812-ASEMI逆变器专用整流桥GBU812 型号:GBU812 品牌:ASEMI 芯片个数:4 封装:GBU-4 恢复时间:>50ns 工作温度:-55C~150C 浪涌电流:200A 正向电流&…

【LeetCode-中等题】48. 旋转图像

文章目录 题目方法一&#xff1a;使用辅助数组矩阵 行列的规律方法二&#xff1a;原地修改 递推公式 题目 方法一&#xff1a;使用辅助数组矩阵 行列的规律 public void rotate(int[][] matrix) {int n matrix.length;int[][] matrix_new new int[n][n];for(int i 0 ; i<…

探索AIGC人工智能(Midjourney篇)(一)

文章目录 案例图片 Midjourney注册 创建Discord账号 下载客户端 添加Midjourney到自己的服务器 用Midjourney画一只会飞的鸭子 Midjourney绘画指令 Midjourney绘画指令_激发Midjourney的创造力 Midjourney绘画指令_Seed指令 Midjourney光线关键词&#xff0c;打造震撼…

深入剖析Kubernetes之容器技术概念入门篇

文章目录 进程层面隔离与限制容器镜像 容器本身没有价值&#xff0c;有价值的是“容器编排”。 也正因为如此&#xff0c;容器技术生态才爆发了一场关于“容器编排”的“战争”。而这次战争&#xff0c;最终以 Kubernetes 项目和 CNCF 社区的胜利而告终。 容器&#xff0c;到底…

Linux常用命令_网络命令、关机重启命令

文章目录 1. 网络命令1.1 网络命令: write1.2 网络命令: wall1.3 网络命令: ping1.4 网络命令: ifconfig1.5 网络命令: mail1.6 网络命令: last1.7 网络命令: lastlog1.8 网络命令: traceroute1.9 网络命令: netstat1.10 网络命令: setup1.11 挂载命令 2. 关机重启命令2.1 shut…

基于Java+SpringBoot+Vue前后端分离线上辅导班系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

移植U8g2图形库—驱动OLED显示(模拟IIC)

目录 1. 所需器件工具 2. IO端口配置 3. 移植步骤 3.1 精简c源码 3.1.1 去掉无用的驱动文件 3.1.2 精简u8g2_d_setup.c 3.1.3 精简u8g2_d_memory.c 3.2 创建函数 3.2.1 创建回调函数 3.2.2 创建测试函数 4. 添加u8g2源码到工程 4.1 项目文件配置 4.2 主函数main.c…

xsschallenge通关(11-15)

level 11 老规矩&#xff0c;先查看源码&#xff0c;做代码审计&#xff1a; <?php ini_set("display_errors", 0); $str $_GET["keyword"]; $str00 $_GET["t_sort"]; $str11$_SERVER[HTTP_REFERER]; $str22str_replace(">&quo…

[C++][C#]yolox TensorRT C++ C#部署

YOLOX是一种新型的高性能探测器&#xff0c;由开发者Zheng Ge、Songtao Liu、Feng Wang、Zeming Li和Jian Sun在《YOLOX: Exceeding YOLO Series in 2021》首次提出。与YOLOV5和YOLOV8相比&#xff0c;YOLOX具有更高的性能和更好的平衡&#xff0c;在速度和精度方面都表现出优越…

无涯教程-机器学习 - 数据统计

在进行机器学习项目时&#xff0c;通常无涯教程会忽略两个最重要的部分&#xff0c;分别是 数学 和 数据 。这是因为知道ML是一种数据驱动的方法&#xff0c;并且ML模型只会产生与提供给它的数据一样好的或坏的输出。 在上一章中&#xff0c;讨论了如何将CSV数据上传到ML项目中…

GMP原理与调度

GMP原理和调度 1.Golang"调度器"的由来1.1单进程时代不需要调度器1.2多进程/线程时代有了调度器需求1.3协程来提高cpu利用率 1.Golang"调度器"的由来 1.1单进程时代不需要调度器 早期的操作系统每个程序就是一个进程&#xff0c;直到一个程序运行完毕&am…

Leetcode81. 搜索旋转排序数组 II

已知存在一个按非降序排列的整数数组 nums &#xff0c;数组中的值不必互不相同。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转 &#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nu…

C++ 网络编程项目fastDFS分布式文件系统(七)--qss样式表,项目文件的上传和下载。

目录 1 单例模式 2. 如何在单例类中存储数据? 3. QSS样式表 3.1 选择器类型 3.2 QSS的使用步骤 3.3 登录窗口设置 4. 客户端post方式上传数据 4.1 常用的四种方式 5. 上传协议 1 单例模式 #include<iostream> #include<vector> #include<mutex> …

Python加入Excel--生产力大提高|微软的全方面办公

Python作为一种功能强大的编程语言&#xff0c;已经逐渐成为了数据分析、机器学习、Web开发等领域的主流语言之一。而将Python集成到Excel中&#xff0c;则可以为Excel用户提供更加强大的数据处理和分析能力&#xff0c;同时也可以为Python开发者提供更加便捷的数据处理和可视化…