serialportscreen-2022-09-15

1、文本滚动显示控件发送汉字字串一直存在头三个汉字丢失的问题,更改控件宽和高也无济于事,需要留意到此控件前三个地址是被系统保留的,实际地址是从控件地址+3的位置开始。

 

2、0xFF00和0xFFFF的选择,对于文本显示控件,先显示了较长的字符串,再发送短字符串进行显示,如果指令末尾没有加以上两个任一帧尾结束符,会出现旧显示内容(即超出新显示内容的部分)续到新显示内容的尾部,并且经过测试,使用0xFF00并不能完全消除残留部分的数据。

3、变量图标显示所用图标检查过满足24位色BMP格式,但是真正显示时却只显示为白色方块,本次需要显示四类设备图标(每类含正反两色,所以一共八个图标需要显示),但是第三类只显示一个白色方块而第四类的位置甚至无内容,对这两类的反色图标显示指令下发以后白色方块消失,但是反色图标并没显示出来,与此同时,在此页面的下一页面有仪表盘,该页面上的仪表指针图标也无法显示(或者多个中只能显示1个),一开始制作图标库为了方便指令设计所以是按类划分的,每个图标库包含2个图标(即正反图标),根据生成的图标库大小估计到一个就占用了2个库位置,为了减少占用将8个图标做成一个图标库然后通过下标去索引,同时将设计软件上的“系统配置”中的“运行周期”由原来选择的200ms换成160ms才解决问题(其实应该是运行周期太长导致的,因为四个分类图标库在出现问题以后曾试过重新生成,但是现象依旧存在)。

4、在解决上述图标显示为空白问题时,还排查掉一个字库和图标库重叠的问题,引发这个问题是没留意汉字库大小,认为预留一部分空间然后选靠后一点的序号分配给图标库做起始,但偏偏就是因为主观的认为大概预留够了,到这时排查问题发现刚好汉字库还差一个序号才够完全存下,于是图标库序号还是需要往后移256K同时重新生成一遍。

5、“图标旋转指示”的起始旋转角度变量值为-30,终止旋转角度变量值为50,其中大刻度为10(小刻度为2),初始值设置为-30(即起始旋转角度变量值所设值,起始和终止旋转角度值还是按照手册角度盘计算结果的两倍填入即可),现在问题是发指令让指针旋转到刻度盘-30~0之间(0~50之间直接按照5A A5 05 82 1000(变量地址) 0014(刻度20))下发即可),这里有个麻烦点就是负数的十六进制获取(假设要让指针停留在刻度-20),查阅手册已经得知“图标旋转指示”占用一个地址(该屏一个地址对应的存储空间为1个字),然后打开windows自带计算器(这里以WIN7计算器举例),切换到程序员模式,选择十进制、字,然后键盘键入20,再然后重点来了!!!在键盘按下F9功能键(物理键盘),然后就可以得到-20,再点击切换到十六进制就可以得到-20这个负数对应的十六进制数为FFEC,于是下发指令就有了:5A A5 05 82 1000 FFEC

 

 

 

 

 

posted @ 2022-09-20 08:49  migui  阅读(22)  评论(0编辑  收藏  举报