分享一款开源的QT的串口示波器,完全开源,支持串口、TCP、波形显示、通信协议。
注意由于QT自带文本显示窗口加载大量数据后会造成软件卡顿,现解决方案为设定一个显示缓冲区,在有刷新数据阶段(即串口接收数据阶段),如果需要保持刷新状态(即实时显示接收的数据),则仅显示显示缓冲区的内容,你可以使用鼠标移动向上滚动条,停止数据刷新,同时当你向上移动滚动条到一定程度,便会开始加载所有数据,如果你想再次触发实时刷新数据状态,只需要将滚动条移动到最低端,并确保有数据接收。
由于保存数据为显示界面的数据,如果处于刷新状态,则无法保存所有数据,正确的做法是关闭串口后,将滚动条移动到最顶端,加载全部数据,然后保存窗口数据。
通信方式是串口,配置为波特率115200, 8位数据位, 1位停止位, 无硬件流控, 无校验位。
1、通信协议格式
帧头 | 设备类型 | 设备ID | 数据ID | 帧尾 |
---|---|---|---|---|
protocol_header(4-byte) | equipment_type(2-byte) | equipment_id (2-byte) | data_id(2-byte) | frame_tail(2-byte,CRC16,整包校验) |
2、帧头详细定义
3、串口通信协议
windows版本的QT界面5.xx版本以下的产品都有一种卡动感,不知道6.xx怎么样。可能是windows下的事件机制的缘故吧,所以这个软件的功能看上去还是很强大的,谢谢楼主的分享,有时间了下载来研究研究。
串口配合合适的通讯协议可以传输各种各样的数据,可以帮助工程师实现灵活的数据监控。