最近,为了开发彩色串口屏,需要用串口的0x13命令读取数据包,分析其中的数据并绘制曲线。
大彩串口屏自带的LUA脚本编程有以下局限性,请朋友们在进行开发选型之前,多加参考。
1 .只能选择一种1.MODBUS通信协议和内部自带的指挥助手
2 .定制串口命令和串口屏幕自带的MODBUS通信,只选择一种
MODBUS中导入的数据不受支持,并添加到曲线控件中
戴文,我知道JFC的串口屏幕,但TFT软件好像还比不上大彩。
话离题了,让我来谈谈在开发过程中获得的经验和遇到的漏洞吧。
1 .自定义串行命令,发送处理的执行速度极慢(已解决) ) ) ) ) ) ) ) ) ) ) ) ) ) )。
在大颜色自定义串行命令教程中,可以将串行超时设置为UART _ set _ time out (1000,300 )
我不能这么悠闲,对吧? 最初的开发时是教程所示的设定,但是串行端口一接收到数据包就粘在了一起。 一开始我还以为是MCU处理不了,减少代码量后才发现不是这个原因。
现在我使用的超时设定为UART _ set _ time out (50,10 ),超丝有树
2 .历史曲线的LUA编程实现
发送自定义指令
只需将要发送的包保存在Table中,然后调用此函数即可
uart_send_data(historytable ) function on _ UART _ recv _ data (packet )。请参见------send _ data
然后,基于数据包处理、MODBUS协议、packet[1]的值判断命令,执行对应的函数
在这里一次读取了120个点,保存在一个表中
然后是曲线的绘制
functionon_draw(screen ) ifscreen==7thenset_pen_color )0x0000 ) fori=0,118 do draw _ line ) I*65285/120
其实也实现了纵向光标,可以显示120个当前选择的点的数据,在此不献丑。