最近作为一个菜鸟,一直测试同事用QT写好的上位机与下位机程序, 结果配置一个模块,连续点击多次下载时,下位机出现程序崩溃的情况。如图
根据提示得知
在下位机线程没有结束的时候,我通过上位机就把内容情况了。 下位机线程继续运行的时候,程序就崩了。
下位机程序处理:
//串口线程停止,释放内存
for(int i=0; i<SERIAL_PORT_NUM; i++)
{
if(m_serialThread[i]->isRunning())
{
m_serialThread[i]->ControlRun(false);
//m_serialThread[i]->wait(3000); 更改之前的内容
//m_serialThread[i]->quit(); 更改之前的内容
m_serialThread[i]->terminate(); 更改加的一句话 强行退出。
}
m_serialThread[i]->ClearSerial();
}
上位机处理,在下载未成功的时候不允许继续点击下载。
...
QDataStream out(&