QT串口编程(一)

      学习QT的串口编程,网上一查貌似只有第三方库支持(好像在QT5中有官方插件支持名字叫QSerialPort,目前开发环境用的是4.7),国内用的比较多的是QextSerialPort 这个第三方库,各种教程还挺详细,特别是QTer网站上有关这一块还有一系列很好的教程,门槛较低,所以选择从QextSerialPort入手。在学习过程中发现QTer提供的教程中在我的笔记本中不能发现串口,由于USB转串口板子是自己开发的,所以开始以为是板子的原因,后来发现并不是板子的原因,原因出在串口号上,经查得:在Windows系统中默认的串口编号为COM1~COM9,超过这个范围就不叫COMxx了,刚好我的虚拟串口号为“COM15”,于是就出现了前面提到的问题,但是怎么解决?!经查有:其实在Windows系统中串口编号应该为:“\\.\COMx”。于是在程序字符串中中由于反斜杠(\)的特殊用途就变成了超级难看的“\\\\.\\COMx”,比如:“\\\\.\\COM15”,问题解决了。serialComm
以上是用QextSerialPort写了个测试程序,很简单,单片机通过串口给上位机发送一个“$”,上位机收到就打印出去,并奉上本简例的源码
这个QextSerialPort库虽然好用,但是发现没有提供串口设备自动扫描功能,网上有说通过读取系统注册表能实现,个人觉得有点费劲,正如上面所说,QT5中提供了一个官方插件QSerialPort,这个极强大的!这个库提供了串口信息的相关读取函数,使用也是简单至极,准备在下节探讨QSerialPort,主要讲解QT4.7环境下QSerialPort(QSerialDevice)的动态编译及使用。并选择QSerialPort作为AVRDUDE shell的串口开发库。

猜你喜欢

转载自blog.csdn.net/ymsunshine/article/details/35374631