串口通讯说明

点击下载STM32与硬件屏通讯例程 [hmi_stm32_demo.zip]

单片机发送

单片机发送格式字符串指令 + “;\r\n”
  • “btn.x=0;\r\n”, 变量赋值

  • “page();\r\n”, 页面切换

  • “get(b0.x);\r\n” 获取变量的文本值

  • 注意:不支持 if else for while 等代码形式,仅支持赋值语句或发指令形式

串口屏返回格式字符串指令 + “;\r\n”
  • 返回分为:执行异常、指令返回

  • 执行异常:

    • err:1; (执行出错)

    • war:128; (执行有警告)

  • 指令返回:

    • 如发送get指令,返回:-getn:100;

串口屏发送

串口屏发送,即在事件脚本中调用 prints printh 指令,用户可以发送自定义字符串、十六进制格式数据给单片机, 单片机再自行解析并处理

prints指令举例

prints字符串指令

单片机接收到字符串指令后,对比字符串,成功则执行相应事件。

printh指令举例

printh字符串指令

这里发送的十六进制数据格式:AA(帧头) 02(功能字) 00(数据长度) FE FE(帧尾)。请下载STM32与硬件屏通讯例程查看STM32解析代码


脚本执行异常

执行过程出错

执行过程,遇到某一行出错了,串口屏返回:err:1,然后退出脚本。(1表示编号,含义请参考下方表格)

脚本执行出错编号含义

编号

含义

1

未识别变量名称或指令

2

赋值失败:变量只读、类型不一致

3

指令参数个数错误

4

指令参数类型错误

5

变量名已定义

6

变量名过长

7

未识别符号

8

缺少符号

9

括号内缺少表达式

10

运算出错:变量类型错误

11

运算出错:除数为零、常量数值大于2147483648

12

运算出错:字符串运算

13

系统错误:内存申请出错

执行过程警告

执行过程,遇到某一行出现警告,串口屏返回:war:128,然后往下执行。(128表示编号,含义请参考下方表格)

脚本执行有警告编号含义

编号

含义

128

赋值超范围,已被限制为最大值或最小值

129

page指令页面ID无效

130

指令参数中控件ID无效

131

指令参数超范围

132

play播放失败,请检查资源路径或ID

133

covx失败,源变量和目标变量类型一致

134

click指令不能自己激活自己

135

click指令造成死循环,已退出