欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3601|回復: 0
打印 上一主題 下一主題
收起左側

死循環問題求解記錄

[復制鏈接]
跳轉到指定樓層
樓主
ID:3721 發表于 2015-1-5 15:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
問: 16:00:51

        timer = new QTimer(this);
        timerFlag =false;
        connect(timer,SIGNAL(timeout()),this,SLOT(timerDone()));
        timer->start(1000);
        while(1)
        {
            if(timerFlag == true)break;//超時退出
          }
問: 16:01:20
void ConnectDialog::timerDone()//超時處理函數
{
    timerFlag=true;
    disconnect(timer,SIGNAL(timeout()),this,SLOT(timerDone()));
    delete timer;
}
問: 16:01:45
這樣寫,為什么是死循環。
橙  子<lizheng310@vip.qq.com> 16:03:10
處理函數會執行嗎
問: 16:04:00
單片機程序寫多了,想當然了。
問: 16:04:25
把槽函數當單片機中斷玩了。
Howe(423286697) 16:05:19
如果定時器只用一次的,怎么不用QTimer::singleShot 呢
問: 16:05:28
不知道這里都是用什么處理辦法,是不是要用多線程,還是什么?
問: 16:06:34
是打開只用一次。
橙  子<lizheng310@vip.qq.com> 16:07:37
用exec()超時后exit()
A: 16:08:40
不能用定時器觸發槽嗎?
橙  子<lizheng310@vip.qq.com> 16:09:41
可以
橙  子<lizheng310@vip.qq.com> 16:10:31
你把while刪了 寫上 this->exec(),試試
橙  子<lizheng310@vip.qq.com> 16:11:22
在槽里輸出一下 看執行了沒
A: 16:11:50
你是想定時?這樣寫?
A: 16:11:54
暈你了  
A: 16:12:14
延時多少  是吧?
問: 16:14:30
不是寫延時,是遍歷系統可用串口并打開串口,向串口發送連接命令,在1秒內接收到電路有效回應,就記錄下設備的相關信息。
A: 16:15:42
設置超時吧  意思是
問: 16:15:59
嗯,是的。
A: 16:16:35
其實槽函數就相當于中斷  是會返回的
A: 16:17:35
讀串口的槽函數 設個標志位
A: 16:18:46
在延時函數里面查詢就是了  一秒沒查詢到置位  那就是超時了啊  返回false
問: 16:19:02
那我的寫法就應該沒錯的,while(1){if(timeflag==1)break;}超時的槽函數把這個標志位置1,但事實并不是這樣的。
A: 16:19:26
為什么這樣寫?
問: 16:19:51
QByteArray temp;
    temp = myCom->readAll();

    if(!((temp.isEmpty())|(temp.isNull())))
    {
        reapt.append(QString(temp));
        qDebug()<<reapt<<endl;

        if((!reapt.startsWith("Ok"))&&(reapt.size()>=2))reapt.clear();
        if(reapt.endsWith('\n'))endFlag = true;
    }
A: 16:19:53
你沒運行超時的函數  如何查詢?
A: 16:20:55
你沒運行超時的函數  如何查詢?
問: 16:20:55
看來,我又掉進死胡同了。
A: 16:21:19
假如沒有返回  那你不是死循環了?
A: 16:21:46
我也是做單片機的  
A: 16:21:50
也沒你這樣做
靜心(501809514) 16:22:03
呵呵
問: 16:22:06
qtimer啟動后,超時不會自動發送timeout信號嗎?
A: 16:22:29
那我就不知道了
A: 16:23:38
我的超時函數
A: 16:23:39
bool Widget::sleep(unsigned int msec)
{
    QTime dieTime = QTime::currentTime().addMSecs(msec);
    while( QTime::currentTime() < dieTime )
    {
        QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
        if(lock_flag)
        {
            lock_flag = false;
            return true;
        }
    }
    return false;
}
問: 16:27:33
嗯,好的,晚上我回去,參考你的,在多看看資料。謝謝。
A: 16:27:51
我是個新手  不一定行
A: 16:28:07
本地圖片,請重新上傳
問: 16:29:13
謙虛了,放心,肯定會多查多看,不會只盯著你的代碼研究。
A: 16:29:14
你是讀書郎?
問: 16:29:46
不是,我畢業兩三年了,qt是去年自己自學的。
A: 16:30:22
我也是過年才做了下Qt  發現只會用  但是看不懂
B: 16:30:24
仟門現在用QT來做什么?
A: 16:30:36
所以目前在學習C++
問: 16:30:47
只是想做一個串口的上位機,和自己的電路通信。
B: 16:31:14
仟門
現在做什么工作?
問: 16:31:42
本地圖片,請重新上傳樓上你打聽那么多,干嘛?
B: 16:32:17
本地圖片,請重新上傳看看都是搞些什么的,多向你們學習學習
橙  子<lizheng310@vip.qq.com> 16:32:35
本地圖片,請重新上傳讓我郁悶的是一直再close_wait 就是不關閉
問: 16:33:10
我做八位單片機開發,有時間幫忙把樓上問題解決一下。
問: 16:33:35
我心有余,力不足本地圖片,請重新上傳本地圖片,請重新上傳
A: 16:35:28
我是M0
A: 16:35:47
你什么型號?
問: 16:36:23
我比你低級,elan,stc,avr,pic。
A: 16:36:54
elan不知道是什么
問: 16:37:40
臺系單片機,elan holtek
問: 16:37:55
都白菜的價格。
問: 16:38:13
一元不到一片。
A: 16:38:36
。。。
問: 16:39:06
m3還知道,m0沒研究過。
A: 16:39:24
你會寫makefile
問: 16:39:31
nxp的?
A: 16:39:35
M幾都差不多
A: 16:39:46
是的

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表