前言
刚接触三易串口屏时,很多开发者都会有一个疑问:
我已经拖了一个文本框到页面上,
为什么点击之后不能输入数字?
实际上在三易串口屏中:
输入框负责显示数据,键盘控件负责输入数据。
两者需要配合使用。
本文以"温度设定值输入"为例,详细介绍键盘控件的使用方法。
一、输入功能实现原理
先理解三易的输入逻辑。
很多人以为:
点击输入框
↓
直接输入
实际上流程是:
点击输入框
↓
弹出键盘
↓
用户输入
↓
输入框接收内容
↓
点击确定
↓
发送给MCU
因此需要:
文本输入框
键盘控件
确定按钮
三个控件配合完成。
二、添加文本输入框
在控件区拖入:
文本(Text)
命名:
txtTemp
显示效果:
温度设置:

该控件用于显示用户输入的数据。
三、添加键盘控件
在VP左下角资源区可以看到:
键盘生成操作区
支持生成数字键盘和字符键盘。
点击:
键盘生成选择键盘类型数字键盘
系统会自动生成:

四、绑定输入框
这是新手最容易遗漏的一步。
必须让键盘知道:
当前输入的数据
要写到哪个控件
- 右侧工具栏选中键盘控件突入操作页面,放置在非显示区域
- 拖入一个变量控件用来标记绑定文本控件和键盘控件(多控件输入必须这样做,一个页面只能用一个键盘控件)

- 文本控件下写脚本

4.文本控件下写脚本


五、限制输入范围
工业设备一般不允许任意输入。
例如温控器:
0~300℃
如果用户输入:
9999
显然不合理。
因此建议在输入完成事件中增加判断。
例如:

这样可以避免错误参数发送给设备。
六、组建通讯协议
定义发送缓存:
byte txbuf5;
填写数据:
txbuf0 = 0xFE;
txbuf1 = 0x01;
txbuf2 = temp >> 8;
txbuf3 = temp & 0xFF;
txbuf4 = 0xEF;
得到:
FE 01 00 19 EF

八、发送到单片机
调用串口发送:
uartSendbytes(txbuf,0,5);
发送结果:
FE 01 00 19 EF
单片机收到后解析即可。
九、实际项目中的典型应用
键盘控件通常用于:
温度设置
设定温度
转速设置
设定RPM
压力设置
设定压力
时间设置
运行时间
密码输入
管理员密码
十、开发经验总结
很多新手第一次使用三易串口屏时会认为:
输入框 = 键盘
实际上并不是。
在三易的人机交互设计中:
输入框
负责显示
键盘控件
负责输入
按钮
负责提交
三者配合才能形成完整输入流程。
理解这一点后,
无论是温度设定、密码登录还是参数配置页面,都可以快速实现。