最近在研究MMDVM的串口屏,设计知识点比较多,本文先随手记一下,同时随时更新,最后形成完整的文档
一、Nextion和国内串口屏设计
MMDVM默认对接的是Nextion屏幕。但是有人跟我说,NXT的屏幕和国内陶晶驰的屏幕就是一个东西,只不过ROM不一样。设计软件出来的工程文档不兼容,但是设计软件几乎长一样,手工画图移植GitHub上的工程就行
NXT和TJC的设计软件资源
1、陶晶驰wiki:
http://wiki2.tjc1688.com/start/index.html
2、陶晶驰HMI软件
http://wiki2.tjc1688.com/start/download_ide.html
3、NXT设计软件
https://nextion.tech/nextion-editor/
二、GitHub上几个相关的NXT屏幕工程
1、MMDVM项目
关注其中的Nextion_ON7LDS和Nextion.cpp
https://github.com/g4klx/MMDVMHost
https://github.com/g4klx/MMDVMHost/blob/master/Nextion.cpp
Nextion.cpp中可以看到原始传递给Nextion的字段内容
L3 Layout模式下传递的字段说明:
https://github.com/g4klx/MMDVMHost/blob/master/Nextion_ON7LDS/README-L3
关于L2和L3两个布局的区别,L2传递字体、颜色各种信息,强约束屏幕布局。L3只传递文本内容,自定义屏幕建议使用L3的布局字段进行开发。
2、ON7LDS的NextionDrive项目
不装该项目也行,不是必选,但是有些字段不传递
该项目扩展了Nextion的字段内容,例如CPU、Location等
https://github.com/on7lds/NextionDriver
https://on7lds.net/42/
3、安装ON7LDS的NextionDrive项目
https://github.com/on7lds/NextionDriverInstaller
三、串口屏幕程序设计
1、简单设计
就直接照着数据表画文本框就行
2、赋值等操作
哎哟,这个说起来比较麻烦,我先放几个截图,回头慢慢说
- S0刷新点击动作
- 赋值操作看陶晶驰的WIKI
- page MMDVM的status状态码在https://github.com/g4klx/MMDVMHost/blob/master/Nextion.cpp里面声明的