全程使用QT开发,用的语言是c++,初学者。
背景:
串口作为流行的上位机和下位机接口,应用广泛。一款稳定易用的串口工具能够为开发者带来很多便利,通用的串口工具很难满足特殊的需求如过滤特定关键字,解析特定数据。
1.图形化界面
- 所有端口相关配置,接收显示,数据发送,都需要通过GUI展示和控件支持
- GUI窗口按照配置,接收,发送三个大的区域划分
2.可配置
- 遵循rs-232标准
- 端口配置项:端口号,波特率,停止位,数据长度,校验位
- 接收配置项:HEX/ASCII选择,自动换行,保存为文件,过滤器(文本过滤/正则过滤),自动时间戳
- 发送配置项:自动换行,HEX发送,循环发送,文件发送
3.可扩展
- 可指定ini配置文件,读取其中的key value信息直接解析数据意义如[0x0C],在ini文件中0x0c=MCU SEND,则显示时,[0x0C]替换为MCU SEND
- 可指定接收数据后由其他程序/插件预先进行分析。
4.独立小巧
无需安装,即开即用
利用QT的QserialPort类提供的函数来进行主要功能的开发,主要功能函数如下:
//获取当前有效串口号
QList<QSerialPortInfo> serialPortInfo= QSerialPortInfo::availablePorts();
int count=serialPortInfo.count();
for(int i=0;i<count;i++)
{
ui->CboxPortname->addItem(serialPortInfo.at(i).portName());
}
//接收信号
QByteArray recedata=mserialport.readAll();
//发送信号
mserialport.write(senddata);