2025.9.23 经验分享会
2025年9月23日下午,上海实邦电子科技有限公司开展了一次经验交流会,由王工和闫工一起分享了他们在工作中积累的一些经验。
首先是王工分享了----使用迪文屏内存卡的方式更新stm32单片机程序
Stm32单片机烧录程序需要用j-link烧录器,远程更新的话,可以使用脱机烧录器,还可以用迪文屏更新程序。
(1)把stm32工程编译成功后生成bin文件,生成的bin文件最好不要超过256KB,方法见另外一个文档。
(2)把bin文件放到迪文屏烧录的文件里, 命名方式采用数字16-31的数字开头,然后就是把.bin改成.DZK,采用此方法的目的,就是把需要更新的单片机bin程序伪装成字库文件,诱骗迪文屏认为此文件就是字库文件,下载迪文屏程序的时候,迪文屏会误认为此文件就是字库文件,就会一起存储到迪文屏的flash里面。


就需要把单片机烧录程序命名范围在0x10-0x1F之间,迪文屏工程所需字库文件放到其它位置。
(3)通过迪文屏内部寄存器操作,来完成bin文件读取。

5A A5 11 82 00 AA 5A 01 18 00 00 00 20 00 10 00 00 00 85 8E
0x11:数据长度
5A启动一次存储器操作(D11)
01读操作(D10)
0x18:字库ID,就是对应的24.DZK这个文件(D9)
00 00 00 : 数据起始地址(D8 D7 D6 这三个)(bin文件读数据的起始地址)
20 00 迪文屏内部变量地址,使用范围是0x2000-0xFFFF(57344个变量地址)
0x1000-0x1FFF留给迪文屏工程使用变量(4096个地址够屏幕工程使用了)
E0 00 :读取的数据长度(57344个)
85 8E :CRC16(从0x82开始算起)
这样用一条指令,就可以把bin文件读取到迪文屏变量空间RAM中,57344个U16类型数据就是112K,所以bin文件最大是112K,比较好操作,虽然每个字库文件是256kbytes,bin文件可以到256kbytes,就需要多次进行读。
(4)把读取到变量地址里面的数据,通过单片机串口进行读取。

在有CRC校验的情况下,最大只能读到0x7B。
如下指令:
5A A5 06 83 20 00 7B 68 49
20 00 :读取地址
7B :读取个数(123个,一包最大是123个,也可以每包按照整数去读取)
迪文K600+这种老型号的屏幕升级


保存内存数据命令:
SAVE D:\DATA.HEX 0X20004194,0X20004194+6572
保存flash命令
SAVE D:\DATA.HEX 0x08008000,0x08008000+6568
保存好后可以和keil生成的bin文件进行对比。
闫工分享了-----大彩屏幕HMI和TFT-modbus使用对比
大彩屏幕的两款UI编辑工具
1. VisualHMI优势:
(1)含有自带的系统图库,一些图标可以直接使用现成的
(2)编辑地址表可导入导出到文件
(3)多语言可导入导出到文件
(4)VisualHMI LUA脚本调用函数比TFT 较丰富
(5)VisualHMI 开发软件更新较快,包含的新功能新应用较多
(6)自定义字库,编辑字体显示格式
2. VisualHMI不足:
(1)无图片切图功能(可采用png透明文件格式优化)
(2)输入文本光标闪烁,无获取文本内容功能 (需注意事点)
(3)不包含逻辑处理(可采用LUA脚本优化)
3. 实例:
双击屏幕,弹出登录键盘,登录键盘初始化显示:光标闪烁,按键为当前页面。输入密码匹配成功,进入下一页面
4. 切图注意事项:
(1) VisualHMI切图尽量使用png透明文件格式
5. 共同优势
(1)多语言动态切换编辑
(2)多状态动态查看
(3)支持中文及位变了定义
(4)支持控件显示隐藏
(5)支持嵌入画面显示
- 上一篇:没有啦
- 下一篇:一文搞懂:CPU, MCU, MPU, SoC, DSP, 2025/9/5