作为上位机的软件,通过串口进行数据的接收与发送,现在遇见了个很有逻辑的问题,希望各位伸出援手,抱拳了。
收到数据 我想判断收到的第一组数据的最后4个字节是否是一个固定值(D5B7) 如果是这个固定值 程序退出 不是这个固定值 程序继续运行 就只是判断收到的第一组数据 后面的数据不进行判断 这个应该怎么实现?
我使用while循环进行判断时 只接收了第一组数据,后面的数据就不进行接收了 界面还会未响应直到程序异常结束 ,后面知道是 if循环进不去的时候while就是个死循环,所以程序异常结束。所以现在不知道怎么写了,请各位出手
while (bool ss=true) {
if(biaoji!="D57B")
{
ss=false;
qDebug()<<"****";
exit(0);
}
}
接收数据和分析数据都需要在另外的线程去进行, 主线程也就是一个巨大的循环, 如果你加了一个while死循环, 那么界面就不能运行了
while (bool ss=true)
这是个标准死循环
每个循环都重新定义一个变量ss
你在while里修改ss的值不起作用
把ss的定义放到while外面去
此外,你要比较4个字节,D5B7是2个字节呀
你要比较字节数组的最后4个字节,而不是字符串比较