没有合适的资源?快使用搜索试试~ 我知道了~
首页淘晶驰串口屏开发手册快速入门指南
淘晶驰串口屏开发手册快速入门指南
需积分: 0 0 下载量 53 浏览量
更新于2024-06-14
收藏 53.28MB PDF 举报
"淘晶驰串口屏开发手册"
本文档是淘晶驰串口屏的开发手册,旨在帮助用户快速入门并熟悉其提供的上位机软件。该软件用于设计和控制串口屏的显示内容与交互逻辑。手册的发行版本为1.1.0,发布日期为2024年4月17日。
1. 快速入门:
在快速入门部分,用户首先需要下载并安装上位机软件。这包括了解如何获取软件以及如何在计算机上进行安装。
2. 上位机基本功能介绍:
- 菜单栏:分为文件、工具、设置和帮助四个子菜单,提供创建、打开、保存工程,设置项目参数,以及获取软件信息等功能。
- 文件菜单:涵盖了新建、打开、保存、导入和导出等操作。
- 工具菜单:包含各种实用工具和功能设置。
- 设置菜单:允许用户调整软件的工作环境和参数。
- 帮助菜单:提供软件使用指南和关于软件的信息。
- 关于菜单:显示软件的版本和版权信息。
- 工具栏:包含常用的操作按钮,如新建、打开、保存等,方便快捷操作。
- 工具箱:列出可供添加到界面的各种控件,如按钮、文本框、图片等。
- 资源文件窗口:
- 图片资源:可以添加、删除和管理用于界面展示的图像。
- 字库资源:支持导入和管理字体,用于界面文字的显示。
- 动画资源:用于创建和编辑动画效果。
- 视频资源:可添加和播放视频内容。
- 音频资源:支持音频文件的添加和管理。
- 界面:包含界面窗口和program.s窗口,用于设计和编辑串口屏的显示界面。
- 特殊控件窗口:提供了特殊功能的控件,如触摸事件、计时器等。
- 输出窗口:显示编译和运行过程中的信息和错误。
- 事件编辑窗口:用于编写和管理页面和控件的事件响应代码,包括页面事件和控件事件。
- 页面窗口:管理屏幕上的各个页面,支持添加、删除和排序页面。
- 属性窗口:显示当前选中对象的各种属性,可以修改其样式和行为。
- 调试窗口:辅助开发者进行程序调试,查看运行状态。
- 下载窗口:负责将工程文件下载到串口屏硬件。
- 设备:包括设置窗口、设备窗口、显示窗口和工程窗口,用于配置串口屏的通信参数、查看设备状态和管理工程。
3. 到手测试:
这部分介绍了如何测试不同接口类型的串口屏,如TTL/232接口、FPC软排接口、485接口,以及如何使用USB转TTL工具进行连接。
4. 创建工程:
- 演示工程素材下载:提供预设的工程模板和素材供用户参考和学习。
- 新建工程:指导用户创建新的工程文件,定义工程的基本信息。
- 制作开机页面和主页面:详细解释了如何设计和实现开机页面和应用程序的主要工作界面。
通过这个手册,开发者能够全面了解淘晶驰串口屏的开发流程,从设置环境到设计界面,再到实现交互逻辑,从而高效地开发出满足需求的串口屏应用。
5.1.2.4 dp-示例 4: 返回上一页 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
5.1.2.5 dp-示例 5: 刷新当前页面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
5.1.2.6 dp-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
5.1.2.7 dp-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
5.1.3 volume-系统音量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
5.1.3.1 volume-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
5.1.3.2 volume-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
5.1.3.3 volume-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
5.1.3.4 volume-示例 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632
5.1.3.5 volume-示例 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
5.1.3.6 volume-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
5.1.4 dims-上电默认背光亮度值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
5.1.4.1 dims-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
5.1.4.2 dims-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
5.1.4.3 dims-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
5.1.4.4 dims-示例:通过滑块设置亮度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
5.1.4.5 dims-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
5.1.4.6 dims-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
5.1.5 dim-当前背光亮度值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
5.1.5.1 dim-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
5.1.5.2 dim-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
5.1.5.3 dim-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
5.1.5.4 dim-示例:息屏,灭屏,设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
5.1.5.5 dim-示例:设置最高亮度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
5.1.5.6 dim-示例:通过滑块设置亮度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
5.1.5.7 dim-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
5.1.5.8 dim-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
5.1.6 bauds-上电默认波特率值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
5.1.6.1 bauds-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646
5.1.6.2 bauds-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
5.1.6.3 bauds-
相关链接
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
5.1.7 baud-当前波特率值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
5.1.7.1 baud-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
5.1.7.2 baud-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
5.1.7.3 baud-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
5.1.8 ussp-无串口数据自动睡眠时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
5.1.8.1 ussp-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
5.1.8.2 ussp-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
5.1.8.3 ussp-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
5.1.9 thsp-无触摸操作自动睡眠时间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
5.1.9.1 thsp-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
5.1.9.2 thsp-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
5.1.9.3 thsp-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
5.1.10 thup-睡眠模式下触摸自动唤醒开关 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
5.1.10.1 thup-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
5.1.10.2 thup-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
5.1.11 usup-睡眠模式下串口数据自动唤醒开关 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
5.1.11.1 usup-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
5.1.11.2 usup-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
5.1.12 wup-睡眠唤醒后刷新页面设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
5.1.12.1 wup-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
5.1.12.2 wup-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
5.1.12.3 wup-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
5.1.13 sleep-睡眠 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
5.1.13.1 sleep-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
5.1.13.2 sleep-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
5.1.13.3 sleep-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
5.1.14 lowpower-睡眠模式设定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
16
5.1.14.1 lowpower-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
5.1.14.2 lowpower-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
5.1.15 bkcmd-串口指令执行状态数据返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
5.1.15.1 bkcmd-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
5.1.15.2 bkcmd-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
5.1.15.3 bkcmd-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
5.1.15.4 bkcmd-示例 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
5.1.15.5 bkcmd-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
5.1.16 delay-延时 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
5.1.16.1 delay-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
5.1.16.2 delay-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
5.1.17 rand-随机数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
5.1.17.1 rand-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
5.1.17.2 rand-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
5.1.18 crcval-crc 校验结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
5.1.18.1 crcval-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
5.1.18.2 crcval-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
5.1.19 rtc0~rtc6-RTC 时钟变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
5.1.19.1 rtc-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
5.1.19.2 rtc-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
5.1.19.3 rtc-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
5.1.19.4 rtc-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
5.1.20 pio0~pio7-扩展 IO 端口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
5.1.20.1 pio-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
5.1.20.2 pio-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682
5.1.21 pwm4~pwm7-扩展 IO 占空比 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
5.1.21.1 pwm-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
5.1.21.2 pwm-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684
5.1.22 pwmf-PWM 输出的频率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
5.1.22.1 pwf-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
5.1.22.2 pwmf-
相关链接
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
5.1.23 audio0~audio1-音频通道控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
5.1.23.1 audio-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
5.1.23.2 audio-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
5.1.23.3 audio-示例 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688
5.1.23.4 audio-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
5.1.24 串口 HMI 颜色代号表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
5.1.24.1 hmi_color-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690
5.2 不常用变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
5.2.1 scache-串口发送缓冲区使能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
5.2.1.1 scache-打开串口发送缓冲区使能示例 . . . . . . . . . . . . . . . . . . . . . . . . . 691
5.2.2 thc-触摸绘图时的画笔色 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
5.2.2.1 thc-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
5.2.2.2 thc-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
5.2.3 thdra-触摸绘图功能开关 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
5.2.3.1 thdra-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
5.2.3.2 thdra-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
5.2.4 tch0~tch3-实时触摸坐标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
5.2.5 addr-设备地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
5.2.5.1 addr-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
5.2.6 spax-字符显示横向间距 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
5.2.6.1 spax-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
5.2.7 spay-字符显示纵向间距 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
5.2.7.1 spay-示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
5.2.8 sendxy-实时发送触摸坐标功能开关 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
5.2.8.1 sendxy-示例 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
5.2.8.2 sendxy-示例 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
5.2.9 eql eqm eqh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
17
5.2.10 eq0~eq9 独立频点衰减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707
6 书写语法 708
6.1 赋值操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
6.1.1 字符串属性赋值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
6.1.2 数值属性赋值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712
6.1.3 字符串属性和数值属性相互转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
6.1.4 赋值操作-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
6.2 运算操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
6.2.1 数值类型变量运算操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
6.2.2 字符串类型变量运算操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
6.2.3 位运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
6.2.3.1 按位与 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
6.2.3.2 按位或 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
6.2.3.3 按位异或 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724
6.2.3.4 按位取反 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
6.2.3.5 按位同或 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725
6.2.3.6 按位左移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
6.2.3.7 按位右移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726
6.2.4 运算操作-相关链接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727
6.3 跨页面赋值,全局变量操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
6.3.1 全局变量-常规使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728
6.3.2 全局变量-特殊控件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
6.3.3 全局变量-c 语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
6.3.4 全局变量-sscom 串口工具发送示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
6.4 HMI 逻辑语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
6.4.1 if 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
6.4.1.1 if-示例 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734
6.4.1.2 if-示例 2: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
6.4.1.3 if-示例 3: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735
6.4.1.4 if-示例 4: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736
6.4.1.5 if-示例 5: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
6.4.2 while 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
6.4.2.1 while-示例 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
6.4.2.2 while-示例 2: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739
6.4.2.3 while-示例 3: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740
6.4.3 for 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
6.4.3.1 for-示例 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
6.4.3.2 for-示例 2: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742
6.4.3.3 for-示例 3: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
6.5 数组/名称组使用说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
6.5.1 什么是名称组, 名称组和数组什么关系 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
6.5.2 名称组的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745
6.5.3 怎么使用名称组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
6.5.4 名称组应用-实现数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
6.5.5
名称组常见操作方式
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
6.5.5.1 批量读取掉电存储空间数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
6.5.5.2 批量隐藏控件 n0~n99 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
6.5.5.3 批量清空文本控件 t0~t5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
6.5.5.4 批量将文本控件 t0~t5 赋值为“淘晶驰” . . . . . . . . . . . . . . . . . . . . . . . 752
6.5.5.5 批量将数字控件 n0~n5 赋值为 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 752
7 串口屏返回数据格式 754
7.1 bkcmd 非 0 时的通知格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
7.1.1 00 FF FF FF 无效指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
7.1.2 01 FF FF FF 指令成功执行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
7.1.3 02 FF FF FF 控件 ID 无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756
7.1.4 03 FF FF FF 页面 ID 无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757
18
7.1.5 04 FF FF FF 图片 ID 无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758
7.1.6 05 FF FF FF 字库 ID 无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
7.1.7 06 FF FF FF 文件操作失败 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
7.1.8 09 FF FF FF CRC 校验失败 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762
7.1.9 11 FF FF FF 波特率设置无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
7.1.10 12 FF FF FF 曲线控件 ID 号或通道号无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764
7.1.11 1A FF FF FF 变量名称无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765
7.1.12 1B FF FF FF 变量运算无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766
7.1.13 1C FF FF FF 赋值操作失败 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
7.1.14 1D FF FF FF 掉电存储空间操作失败 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768
7.1.15 1E FF FF FF 参数数量无效 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
7.1.16 1F FF FF FF IO 操作失败 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770
7.1.17 20 FF FF FF 转义字符使用错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771
7.1.18 23 FF FF FF 变量名称太长 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
7.2 其他数据返回格式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
7.2.1 24 FF FF FF 串口缓冲区溢出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775
7.2.2 0X65 控件点击事件返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776
7.2.3 0X66 当前页面的 ID 号返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777
7.2.4 0X67 触摸坐标数据返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778
7.2.5 0X68 睡眠模式触摸事件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779
7.2.6 0X70 字符串变量数据返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780
7.2.7 0X71 数值变量数据返回 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781
7.2.8 0X86 设备自动进入睡眠模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782
7.2.9 0X87 设备自动唤醒 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
7.2.10 0X88 系统启动成功 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
7.2.10.1 1.65.0 版本以前 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
7.2.10.2 1.65.0 版本以后 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784
7.2.11 0X89 开始 SD 卡升级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
7.2.12 0XFD 透传数据完成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786
7.2.13 0XFE 数据透传就绪 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
8 串口屏高级应用详解 788
8.1 系统键盘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
8.1.1 键盘基础知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
8.1.1.1 系统键盘的调用方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788
8.1.1.2 键盘解锁和重置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
8.1.2 键盘的实现原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
8.1.2.1 系统键盘-常用控件和变量说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
8.1.2.2 其他跳转到键盘页面的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
8.1.2.3 键盘如何获取到原始控件的值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
8.1.2.4 输入完成后如何赋值给原始控件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794
8.1.3 自定义键盘 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
8.1.3.1 进入键盘时自动将输入框清空 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795
8.1.3.2 键盘页面默认为拼音输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796
8.1.3.3 键盘页面默认为英文大写 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797
8.1.3.4
键盘只能输入
32
个字符需要改成能输入更多的字符
. . . . . . . . . . . . . . . . . 798
8.1.3.5 如何让键盘的光标不闪烁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798
8.1.3.6 键盘页面限制输入数据的值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
8.1.3.7 在键盘页面按下 OK 键时将参数通过串口发送出去 . . . . . . . . . . . . . . . . . 800
8.1.3.8 不同控件在系统键盘设置好参数存储到用户存储区 . . . . . . . . . . . . . . . . . 805
8.1.3.9 键盘-样例工程下载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808
8.1.3.10
键盘
-
相关链接
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809
8.1.4 系统键盘常见问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
8.1.4.1 系统键盘无法用输入法打出汉字 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
8.1.4.2 系统键盘无法输入字符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
8.1.4.3 控件调用系统键盘输入值后,控件显示的数据没有改变 . . . . . . . . . . . . . . . 812
8.1.4.4 控件调用系统键盘输入值后,其他控件又回到默认值 . . . . . . . . . . . . . . . . 812
8.2 主动解析模式应用详解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
19
8.2.1 主动解析基本知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
8.2.1.1 淘晶驰字符串指令和主动解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813
8.2.1.2 主动解析原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
8.2.1.3 主动解析基本步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814
8.2.1.4 串口数据解析模式系统变量 recmod . . . . . . . . . . . . . . . . . . . . . . . . . . 815
8.2.1.5 串口缓冲区数据大小系统变量 usize . . . . . . . . . . . . . . . . . . . . . . . . . . 816
8.2.1.6 串口缓冲区数据组 u[index] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817
8.2.1.7 串口缓冲区数据拷贝指令 ucopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
8.2.1.8 如何退出主动解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
8.2.2 解析字符串格式指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
8.2.2.1 解析 AT 指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
8.2.2.1.1 解析 AT 指令-样例工程下载 . . . . . . . . . . . . . . . . . . . . . . . . . 821
8.2.2.2 接收 json 数据字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826
8.2.2.3 解析不定长字符串 (以回车换行结尾) . . . . . . . . . . . . . . . . . . . . . . . . . 828
8.2.2.3.1 解析不定长字符串 (以回车换行结尾)-样例工程下载 . . . . . . . . . . . . 828
8.2.3 解析 hex 格式指令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829
8.2.3.1 解析不定长 hex 协议-海陵科 LD-2410 生命存在感应模组 . . . . . . . . . . . . . . 829
8.2.3.1.1 海陵科生命存在感应模组 hex 协议解析下载 . . . . . . . . . . . . . . . . 829
8.2.3.2 解析定长 hex 格式指令-自定义协议 . . . . . . . . . . . . . . . . . . . . . . . . . . 833
8.2.3.3 解析不定长 hex 格式指令-自定义协议 . . . . . . . . . . . . . . . . . . . . . . . . . 844
8.2.3.3.1 帧头为 0x55 ,帧尾为 3 个 0x . . . . . . . . . . . . . . . . . . . . . . . . 844
8.2.3.3.2 帧头为 0xFF ,帧尾为 0d 0a . . . . . . . . . . . . . . . . . . . . . . . . . 846
8.2.3.3.3 传输不定长的字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848
8.2.4 主动解析-样例工程下载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
8.3 HMI 下载协议详解/OTA 升级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
8.3.1 未知串口号和波特率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
8.3.2 已知串口号和波特率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
8.3.3 【下载步骤 1:联机操作】 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
8.3.3.1 如果未开启主动解析模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
8.3.3.2 如果开启了主动解析模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
8.3.3.3
联机数据说明
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852
8.3.4 【下载步骤 2:开始下载】 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
8.4 串口指令增加 CRC 校验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
8.4.1 结束符不同 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
8.4.2 CRC16 校验算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
8.4.3 3.CRC16 校验码写入方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
8.5 程序中使用 CRC 校验数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
8.5.1 使用 crc 校验的步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
8.5.1.1 初始化 crc 校验 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
8.5.1.2 使用 crcputh/crcputs/crcputu 将需要的数据放入校验 . . . . . . . . . . . . . . . . . . 856
8.5.1.3 获取 crc 计算结果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
8.5.2 crc 校验示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 857
8.5.3 串口屏计算出来的 crc 结果和单片机计算出来的结果不同如何排查 . . . . . . . . . . . . . . 859
8.6 运行中串口传输图片到内存或 SD 卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
8.7 SD 卡读写文件流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
8.7.1 SD 卡读写文件流程-样例工程下载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
8.7.2 1. 检查文件是否存在 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862
8.7.3 2. 打开文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864
8.7.4 3. 读、写、查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
8.7.5 4. 关闭文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 866
8.7.6 文件流控件-注意事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
8.7.6.1 新建文件时为什么要初始化文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
8.7.6.2 没有初始化文件会怎么样 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
8.7.6.3 如果我不想在屏幕里初始化怎么办呢 . . . . . . . . . . . . . . . . . . . . . . . . . 867
8.7.7 SD 卡读写文件-样例工程下载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867
8.8 拓展 IO 资料 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
8.8.1 拓展 IO 简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868
8.8.2 拓展 IO 简单使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870
20
剩余1231页未读,继续阅读
173 浏览量
2024-11-09 上传
2024-11-09 上传
2024-11-09 上传
2024-11-09 上传
也奇F
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功