QTimer pn532_timer;
pn532_timer->start(20);
while(pn532_response_status == PN532_RESPONSE_INIT);
timer的槽里面修改pn532_response_status的值,这样的实现是不是有问题?
------解决思路----------------------
timer事件是消息循环驱动的,函数不返回,执行流程就无法返回事件循环,也就无法取出超时这个事件,更不会触发timeout这个信号。所以你应该把判断放在“timer的槽"里面。
------解决思路----------------------
改成这样就可以了。
while(pn532_response_status == PN532_RESPONSE_INIT)
{
QCoreApplication::processEvents();
}