当前位置: 首页 > news >正文

迪文屏开发保姆级教程—弹出键盘录入ASCII字符

本篇文章主要介绍了在DGBUS平台上使用文本录入键盘录入ASCII字符,数字和字母的教程。

文本录入键盘支持录入ASCII字符,数字和字母。

官方开发指南PDF:(不方便下载的私聊我发给你)

https://download.csdn.net/download/qq_21370051/88647174?spm=1001.2014.3001.5503icon-default.png?t=N7T8https://download.csdn.net/download/qq_21370051/88647174?spm=1001.2014.3001.5503

文章目录

一、前言

开发环境

二、使用步骤

1.准备素材

2.打开DGUS工程,导入素材。

3.生成ICL文件。

 4.添加文本显示控件

A.地址设置

B.文本长度

C.字库选择

5.添加文本录入控件

A.变量地址设置

 B.设置字库位置和 字体XY 点阵大小。

C.文本长度

​编辑

D.属性设置,官方介绍。

D.开启数据自动上传

E.设置键盘

F.键盘位置:设置其他页

G.设置录入过程中显示位置

 6.键盘键位定义

A. 添加基本触控控件。

 B.重复步骤,添加所有的按键定义。

7.保存、导出、验证。

三、容易踩得坑


一、前言

本篇文章主要介绍了在DGBUS平台上使用文本录入键盘的步骤。

迪文文本录入键盘是什么?

通过迪文官方的DGUS工具,导入一张带有按键的背景图片,以此页面为按键,后面录入数据的时候,都是跳到这个页面进行数据录入。比组态键盘开发过程更简单,但是复用性不如组态键盘。

文本录入键盘只能录入ASCII字符。

开发环境

迪文屏型号DMG80480T070_09WTC
DGUS版本DGUS_V7646
单片机        GD32F407

二、使用步骤

1.准备素材

准备一张小于你屏幕分辨率的键盘图。后面以此作为键盘底图。

2.打开DGUS工程,导入素材。

3.生成ICL文件。

不会的可以看我这篇文章。下文又重复了一遍。

迪文屏开发保姆级教程—背景图ICL文件生成-CSDN博客文章浏览阅读348次,点赞11次,收藏7次。本篇文章主要介绍了在DGBUS平台上生成背景图ICL文件的步骤。https://blog.csdn.net/qq_21370051/article/details/135090876?spm=1001.2014.3001.5502

第一步,把冰箱门打卡~

 下面蹦出来这个界面,这里面大部分都是默认就可以,注意你屏幕的内核类型

注意支持的文件类型:

支持文件类型:ICO,JPG,BMP,GIF,PNG
图片数量:不能超过64K张图片

 把当前所有的背景底图全部选中,一起生成一个ICL文件。

 然后点击生成,

 然后跳出来的界面输入文件名,后缀要默认为icl,  命名格式: 32_background.icl 

32这个数字ID固定的。覆盖原来的icl文件。

 4.添加文本显示控件

A.地址设置

 这里设置属性,变量地址 0x6220,注意不要和当前页面别的控件地址重复。

 编码方式,这里选GB2312或者GBK  经过实测,迪文屏不支持UNICODE的

什么UTF-8  UT-F16的都不支持。

还要生成相应的中文字库,如果不会生成字库的,可以关注我,多给点赞和收藏,鼓励鼓励我,我后面会发相应教程。

B.文本长度

需要注意!   文本显示控件长度以字节为单位

需要提前预留对应长度的字节,也就是说,当前0x6220 变量地址往后10个字节的长度都不能放别的数据了。

C.字库选择

第一个是当编码0X01-0X04的ASCII字符时使用的字库。

第二个是非ASCII字库。

我汉字字库生成的是  16号字体的,其单个汉字点阵为 X Y 40 40

5.添加文本录入控件

 

拖动出来

设置它的属性

A.变量地址设置

注意它的变量地址要设置为何前面要被录入进数据的“数据变量”控件的地址一致。

 B.设置字库位置和 字体XY 点阵大小。

C.文本长度

以字为单位,设置成5 才和刚才文本显示的10大小相等。

需要注意!   文本录入控件长度以字为单位。!!!!  和文本显示不一样。文本显示是以字节为单位。

很无语吧,我也很无语,迪文屏很多设计让人很无语。

 最大为7F 也就是127个字  也就是最多录入127*2=254 个字符和字母。

D.属性设置,官方介绍。

D.开启数据自动上传

E.设置键盘

选中之前导入的键盘素材页面。 

拖动出来我们实际要显示的键盘范围,点击确定完成。

F.键盘位置:设置其他页

G.设置录入过程中显示位置

  这里和变量录入控件键盘设置不一样,这里要拖动出来一个显示区域。

 6.键盘键位定义

选中键盘素材所在的页面

A. 添加基本触控控件。

 如下图,设置一下键值,这里和数据变量录入键盘不一样的是。

要点击完全按键定义。

 B.重复步骤,添加所有的按键定义。

B.1 容易遇到的疑惑:

完全按键定义这里    Return  就相当于确定,确认当前输入 然后返回原界面

7.保存、导出、验证。

老规矩,养成好习惯,三连走一波,保存、生成、导出。 

​​​​

然后就大功告成了~~   用SD卡拷贝 DWIN_SET文件夹到SD卡根目录,去烧写屏幕程序验证。

GOOD LUCK~

还是老规矩,文末来个福利图养养眼,放松一下  ~~


三、容易踩得坑

注意背景图ICL文件命名要为32开头。

文本录入和数据变量录入有很多不同的地方,注意区别。

录入控件文本长度是以字为单位。

显示控件文本长度是以字节为单位。

相关文章:

迪文屏开发保姆级教程—弹出键盘录入ASCII字符

本篇文章主要介绍了在DGBUS平台上使用文本录入键盘录入ASCII字符,数字和字母的教程。 文本录入键盘支持录入ASCII字符,数字和字母。 官方开发指南PDF:(不方便下载的私聊我发给你) https://download.csdn.net/download…...

Java,处理字符串的案例()

场景 为了得到一个都是英雄名字的字符数组,需要对如下字符串进行处理 疾风剑豪,影流之主,封魔剑魂,暗裔剑魔,无极剑圣,无双剑姬,武器大师,德邦总管,蛮族之王&#xff0…...

微信小程序更新机制

1/同步更新 1、定期检查更新时; 2、长期未使用,首次进入会同步更新,但在弱网或者下载新版本失败的情况下,还会使用旧版本。 2/异步更新: 启动时异步更新 3/开发者手动触发更新 在启动时异步更新的情况下,…...

CentOS 7 部署 Nacos-2.3.0 (单机版)

CentOS 7 部署 Nacos-2.3.0 (单机版) 1. 下载 Nacos 安装包 历史版本:https://github.com/alibaba/nacos/releases/ 我选的是 2.3.0 版本,https://github.com/alibaba/nacos/releases/download/2.3.0/nacos-server-2.3.0.tar.g…...

Springboot优雅实现对接口返回统一封装

前端在调用后端接口时往往不同的接口返回的数据是不一样的,但是通常我们会与前端约定一个固定的返回格式,通过固定的格式告诉他们什么时候接口是返回成功,什么时候返回失败,返回成功后他们如何拿到接口返回的数据去渲染前端页面。…...

Kafka 安装与部署

目录 Kafka 下载 (1)将 kafka_2.11-2.4.1.tgz 上传至 /opt/software/ (2)解压安装包至 /opt/module/ [huweihadoop101 ~]$ cd /opt/software/ [huweihadoop101 software]$ tar -zxvf kafka_2.11-2.4.1.tgz -C ../module/&#…...

计算 N*4*4 位姿形状的逆变换,在N*3*4位姿后补充 [0,0,0,1]

针对 [N,4,4] shape 的 poses,函数 ComputeInversePoses 返回 相同 shape,但是每个 pose 都是前面的 逆 pose。 针对 [N,3,4] shape 的 poses,函数 AddIdentityToPoses 返回 在每个 [3,4] pose下加上 [0,0,0,1] 后的pose,返回的…...

人工智能可以战胜人类智慧大脑么?

引言 在当今快速发展的科技时代,人工智能的进步日新月异,引发了一场深刻的讨论:能否有一天,人工智能能够超越甚至战胜人类智慧?这个问题涉及到人类认知的广泛领域,牵涉到人类思维的深层次特质以及AI技术在…...

【数据结构和算法】 K 和数对的最大数目

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一:双指针排序 三、代码 3.1 方法一:双指针排序 3.2 方法二&#xff1…...

基于ssm高校推免报名系统源码和论文

网络的广泛应用给生活带来了十分的便利。所以把高校推免报名管理与现在网络相结合,利用java技术建设高校推免报名管理系统,实现高校推免报名的信息化。则对于进一步提高高校推免报名管理发展,丰富高校推免报名管理经验能起到不少的促进作用。…...

算法设计与分析2023秋-头歌实验-实验七 动态规划

文章目录 第1关:数塔问题任务描述相关知识编程要求解题思路测试说明参考答案 第2关:最长公共子序列任务描述相关知识编程要求解题思路:测试说明参考答案 第3关:求序列-2 11 -4 13 -5 -2的最大子段和任务描述相关知识编程要求解题思…...

复杂 SQL 实现分组分情况分页查询

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、根据 camp_status 字段分为 6 种情况 1.1 SQL语句 1.2 SQL解释 二、分页 SQL 实现 2.1 SQL语句 2.2 根据 camp_type 区分返…...

JavaScript---如何完美的判断返回对象是否有值

如何判断一个对象为空是我们在开发中经常会遇到的问题,今天我们来聊聊几种经常使用的方法,以及在不同的场景下我们如何去使用。 1. JSON.stringify JSON.stringify 方法可以使对象序列化,转为相应的 JSON 格式。 js 复制代码 const obj {…...

kafka offset sasl加密连接

kafka-tool(offset) 进行SCRAM连接,直接上图 填写jaas的认证(账密 引用包)...

Android studio矩形背景颜色以及弧度的设置

在这里插入图片描述 Android的shape中主要设置的属性 corners:用于设置形状的圆角,可以设置圆角的半径、颜色等属性。 stroke:用于设置形状的边框,可以设置边框的宽度、颜色等属性。 padding:用于设置形状的内边距&…...

Acrel-1000DP分布式光伏系统在某重工企业18MW分布式光伏中应用——安科瑞 顾烊宇

摘 要:分布式光伏发电特指在用户场地附近建设,运行方式以用户侧自发自用、余电上网,且在配电系统平衡调节为特征的光伏发电设施,是一种新型的、具有广阔发展前景的发电和能源综合利用方式,它倡导就近发电,就…...

3 python基本语法 - Dict 字典

Python 中字典(dict)是一种无序的、可变的序列,它的元素以“键值对(key-value)”的形式存储。相对地,列表(list)和元组(tuple)都是有序的序列,它们…...

Magnific AI:彻底改变 AI 生成图像的升级

在我最近与 Magnific AI 的讨论中,我不仅感到惊讶,而且对该工具提供的质量和可能性着迷。我发现 Magnific AI 能够转换人工智能生成的图像(这些图像通常只能以低分辨率提供),尤其令人印象深刻,不仅在可打印…...

BKP 备份寄存器 RTC 实时时钟-stm32入门

这一章节我们要讲的主要内容是 RTC 实时时钟,对应手册,是第 16 章的位置。 实时时钟这个东西,本质上是一个定时器,但是这个定时器,是专门用来产生年月日时分秒,这种日期和时间信息的。所以学会了 STM32 的…...

1.1 数据结构-数据的表示

文章目录 1.1.1 二元关系及其性质:1.1.1.1 笛卡尔积:1.1.1.2 二元关系:持续更新当中 ....... 1.1.1 二元关系及其性质: 数据的基本单元称为额数据元素,数据是从客观事物的观测中的到的,数据元素并不是鼓励存在的,而是存在密切的联系,也因此才能表示和描述客观事物,数据元素之间…...

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

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…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

虚拟电厂发展三大趋势:市场化、技术主导、车网互联

市场化&#xff1a;从政策驱动到多元盈利 政策全面赋能 2025年4月&#xff0c;国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》&#xff0c;首次明确虚拟电厂为“独立市场主体”&#xff0c;提出硬性目标&#xff1a;2027年全国调节能力≥2000万千瓦&#xff0…...