- windows下的串口你通讯
参照https://blog.csdn.net/yafeilinux/article/details/4717706
2.Linux下的串口通讯:
https://blog.csdn.net/g1036583997/article/details/44805217
上面这个链接中就有说明Linux下用polling 模式打开,使用定时器去读取数据。
https://blog.csdn.net/elaine_bao/article/details/51830352
https://blog.csdn.net/weixin_34279579/article/details/85768861
3.Linux下虚拟串口
参考链接:
https://blog.csdn.net/qq_42973043/article/details/82888075?utm_source=blogxgwz8
我出现的问题:
1.Linux下 可以向串口写数据,但读取数据不成功。
解决:我是从Windows下的QT 直接移植过来的,并没有改为polling轮询方式打开。后来改了轮询方式,可以写数据,且使用的信号-槽 connect处理 读取串口的,界面还是显示不了,发现槽函数根本就没有响应。
最后查找原因:Linux下使用polling轮询的方式,那就只能通过定时器去读取数据,改为定时去后就成功拉
2.win移植到Linux下出现的问题是setTimeout 参数不匹配,去掉第一个参数即可
3.移植时只需要拷贝qextserialbase. 和 posix_qextserialport 对应的头文件和源文件就可以了,而且Windows下的三个串口类都要去掉,而且mainwindow中关于windows的所有类都要替换掉
4.Windows下写串口时 报错:
win_qextserialport.cpp报错:‘class QString’ has no member named ‘toAscii’。
直接改为了toutf8
win下的代码
https://download.csdn.net/download/u012719076/12230025
Linux下代码
https://download.csdn.net/download/u012719076/12231737