使用的是Qt的界面,用了Qt的多线程,串口操作没有用控件,直接对Win32 API进行调用,大部分串口操作都封装在一个类中,在辅助线程中进行串口事件的设置和等待,根据我的需要,设置等待特定字符的到达,暂时设为‘n’,在NMEA语句中这是一条语句的结束符。
等到特定字符到达后,辅助线程emit一个信号给GUI主线程,在主线程中调用串口操作类进行非重叠读操作,读取的字节长度=此时输入缓冲区内字符串的长度,通过动态分配内存来满足需要。在主线程中将读取的字符串显示出来,然后释放动态分配的内存。
现在多线程部分没有问题了,今天大部分时间都是在调试多线程,开始时eclipse中好像不能用gdb在Windows下调试多线程,总是出错。后来不知怎么搞的又可以了,抓紧调了一下,发现主要问题出在等待500ms超时后,想让辅助线程休眠100ms,使用了sleep(100),嘿嘿,应该是msleep(100)。
ios哔咔网页版直达入口-哔咔漫画iOS网页版一键进入
MyFreeMP3在线音乐官网-MyFreeMP3网页版官方入口
超星学习通网页版登录入口-超星学习通官网登录网址
超星学习通官网快捷登录入口 学习通网页版官方一键直达方法
韩剧再婚皇后全集百度云网盘资源链接分享-韩剧再婚皇后1080p蓝光百度云网盘资源下载
韩剧再婚皇后阿里云盘全集高清1080P资源链接-韩剧再婚皇后免费阿里云盘资源下载4K高清无删减版链接