表格一:串口指令执行成功或失败的通知格式
1. 只有当系统变量bkcmd为非0的时候才会返回指令执行成功或者失败数据,每次上电后bmcmd默认为2,即只返回指令执行出错的结果。
2. 上位软件编辑时写进资源文件的代码不受bkcmd影响,执行有错误时一定会返回错误数据,成功时不返回数据。
3:设备返回数据的结束符为”0XFF 0XFF 0XFF”三个字节。
返回数据第一位 | 含义 | 格式 |
0X00 | 无效指令 | 0X00+结束符 (当收到用户发来的无效指令时返回此数据) |
0X01 | 指令成功执行 | 0X01+结束符 (用户发来的指令被成功执行完毕时返回此数据) |
0X02 | 控件ID无效 | 0X02+结束符 (用户发来的指令中包含无效控件ID或者无效控件名称时返回此数据) |
0X03 | 页面ID无效 | 0X03+结束符 (用户发来的指令中包含无效页面ID或者无效页面名称时返回此数据) |
0X04 | 图片ID无效 | 0X04+结束符 (用户发来的指令中包含无效图片ID时返回此数据) |
0X05 | 字库ID无效 | 0X05+结束符 (用户发来的指令中包含无效字库ID时返回此数据) |
0x06 | 文件操作失败 | 0X06+结束符 (操作文件失败的时候返回) |
0x09 | CRC校验失败 | 0X09+结束符 (带校验的指令通不过的时候返回此数据,指令校验说明) |
0X11 | 波特率设置无效 | 0X11+结束符 (用户发来的波特率配置指令中包含无效波特率参数) 设备支持的波特率有:2400 4800 9600 19200 38400 57600 115200 |
0X12 | 曲线控件ID号或通道号无效 | 0X12+结束符 (用户使用add指令往曲线控件添加数据的时候,曲线控件ID号或通道号无效时返回此数据) |
0X1A | 变量名称无效 | 0X1A+结束符 当串口收到的变量名称为无效名称时返回此数据 注:控件属性也称为变量,比如您设置一个控件的属性的时候,输入的是一个它没有的属性名称,也会返回此数据。 |
0X1B | 变量运算无效 | 0X1B+结束符 比如文本控件t0的txt属性赋值时应该写成t0.txt=”abc” 如果你写成t0.txt=abc就出错了,再比如进度条j0的val属性应该是数值,所以要写成j0.val=50,如果写成j0.val=”50”或者j0.val=abc也会出错 |
0X1C | 赋值操作失败 | 0X1C+结束符 属性赋值失败的时候返回此数据 |
0X1D | EEPROM操作失败 | 0X1D+结束符 操作EEPROM失败时返回此数据 |
0X1E | 参数数量无效 | 0X1E+结束符 用户输入的指令中参数数量错误的时候返回此数据 |
0X1F | IO操作失败 | 0X1F+结束符 操作IO失败时返回此数据 |
0X20 | 转义字符使用错误 | 0X20+结束符 转义字符使用错误时返回此数据 |
0X23 | 变量名称太长 | 0X23+结束符 变量名称长度最大29个字符,超出就会返回此数据 |
0X24 | 串口缓冲区溢出 | 0X24+结束符(该指令不受bkcmd影响,在主动解析模式下当串口缓冲区满了时也会返回24 ff ff ff) 当串口缓冲区被占满以后会返回此数据 (缓冲区溢出以后,缓冲队列里的指令执行完成后会为缓冲区腾出空间以继续接收指令,在此之前,串口收到的数据将会丢弃) |
表格二:其他数据返回格式
1.设备返回数据的结束符为”0XFF 0XFF 0XFF”三个字节。
2.以下数据的返回不受bkcmd影响。
返回数据第一位 | 含义 | 格式 |
0X65 | 触摸热区事件返回 | 0X65+页面ID+按键ID+触摸事件+结束符 (用户创建的控件被按下或弹起时返回此数据,前提是您勾选了控件的”发送键值”选框) (触摸事件的定义:按下事件0x01 弹起事件0X00) 举例:0X65 0X00 0X02 0X01 0XFF 0XFF 0XFF 含义:页面0 按钮2 按下 |
0X66 | 当前页面的ID号返回 | 0X66+页面ID+结束符 (设备收到”sendme”指令时会返回此数据) 举例:0X66 0X02 0XFF 0XFF 0XFF 含义:当前页面ID为2 |
0X67 | 触摸坐标数据返回 | 0X67++坐标X高位+坐标X低位+坐标Y高位+坐标Y低位+触摸事件状态+结束符 (当系统变量”sendxy”为1之后,有触摸事件时返回此数据) (触摸事件的定义:按下事件0x01 弹起事件0X00) 举例:0X67 0X00 0X7A 0X00 0X1E 0X01 0XFF 0XFF 0XFF 含义:坐标(122,30) 事件: 按下 |
0X68 | 睡眠模式触摸事件 | 0X68++坐标X高位+坐标X低位+坐标Y高位+坐标Y低位+触摸事件状态+结束符 (当设备进入睡眠模式后,有触摸事件时返回此数据) (触摸事件的定义:按下事件0x01 弹起事件0X00) 举例:0X68 0X00 0X7A 0X00 0X1E 0X01 0XFF 0XFF 0XFF 含义:坐标(122,30) 事件: 按下 |
0X70 | 字符串变量数据返回 | 0X70+变量内容ASCII码+结束符 使用get指令获取的变量为字符串类型时,返回此数据. 举例:0X70 0X61 0X62 0X63 0XFF 0XFF 0XFF 含义:返回字符串数据:”abc” |
0X71 | 数值变量数据返回 | 0X71+变量二进制数据(4字节小端模式,低位在前)+结束符 使用get指令获取的变量为数值时,返回此数据. 举例:0X71 0X66 0X00 0X00 0X00 0XFF 0XFF 0XFF 含义:返回数值数据:102 |
0X86 | 设备自动进入睡眠模式 | 0x86+结束符 只有设备自动进入睡眠模式的时候会返回此数据,如果是执行串口指令sleep=1进入的睡眠不会返回此数据 |
0X87 | 设备自动唤醒 | 0x87+结束符 只有设备自动唤醒的时候会返回此数据,如果是执行串口指令sleep=0唤醒的睡眠不会返回此数据 |
0X88 | 系统启动成功 | 0x88+结束符 设备上电初始化成功之后发送此数据 |
0X89 | 开始SD卡升级 | 0x89+结束符 设备上电检测到SD卡之后将发送此数据,然后进入升级界面 |
0XFD | 透传数据完成 | 0xFD+结束符 透传数据结束并处理数据完成后发送此数据 |
0XFE | 数据透传就绪 | 设备收到数据透传指令后,进入透传数据初始化,初始化完成以后发送此数据,表示此时已经进入数据透传模式,可以开始数据透传 |