久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3612|回復: 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
是的

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美影院 | 综合一区 | 色视频在线播放 | 亚洲永久 | 亚洲欧美精品 | 久久亚洲国产精品日日av夜夜 | 夜夜草 | 国产精品欧美一区喷水 | 国产视频中文字幕 | 免费午夜电影 | 亚洲精品一区二区三区 | 毛片99 | 水蜜桃久久夜色精品一区 | 操一草 | 欧美videosex性极品hd | 一本一道久久a久久精品蜜桃 | 国产99久久精品一区二区永久免费 | 中文字幕精品一区二区三区精品 | 国产精品日韩欧美一区二区 | 一区二区三区四区在线 | 成人av资源在线 | 午夜小影院 | 成年人在线观看 | 成人av一区二区三区 | 亚洲精品黑人 | 日本黄色一级片视频 | 亚洲电影在线播放 | 国产精品一区二区视频 | 九九精品热| 欧美激情欧美激情在线五月 | 九九久久国产精品 | 亚洲福利一区 | 国产精品日韩一区 | 亚洲国产精品va在线看黑人 | av在线播放不卡 | 日韩一区二区免费视频 | 亚洲欧美在线免费观看 | 久久国产精品色av免费观看 | 午夜精品一区二区三区在线观看 | 黄色毛片在线播放 | 国产丝袜人妖cd露出 |