一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

老程序卡住了怎么辦?

jf_4uwpxRjJ ? 來源:小草手把手LabVIEW ? 2023-08-10 09:54 ? 次閱讀

昨天某學(xué)員聯(lián)系我,給我拍了這么一個(gè)圖,問怎么解決。

f47c2bea-36ac-11ee-9e74-dac502259ad0.jpg、

我一看,這不簡(jiǎn)單嘛,就是串口緩存不夠溢出了。

解決方法就是:讀快點(diǎn),緩存搞大點(diǎn),把延時(shí)去掉或者改小不就OK了么?

給了答案后,過了半天回復(fù),仍舊沒有解決,現(xiàn)象是程序就只執(zhí)行了一次,卡住了,不執(zhí)行。

晚上10點(diǎn)又在問我,這工作勁。我想那就遠(yuǎn)程看程序了。

遠(yuǎn)程一打開,頓時(shí)感覺程序是“意大利面”,看起來心煩意亂。不過為了解決BUG,我決定靜下心來分析。

學(xué)員說這個(gè)一個(gè)國(guó)外合作的很久前的LabVIEW的采集程序,硬件啥都有,只是程序在,跑程序的老電腦不在了。換了臺(tái)新電腦,驅(qū)動(dòng)啥的都裝好了。就幾個(gè)串口,還有DAQ采集的。然后領(lǐng)導(dǎo)要恢復(fù)起來,能運(yùn)行。

看的很頭大,程序總共就一個(gè)while里面,while里面有FOR循環(huán),F(xiàn)OR循環(huán)里面還有定時(shí)循環(huán)。

這1個(gè)while循環(huán)里面,有5個(gè)儀器的讀寫程序,還有2個(gè)DAQ采集卡。都在一個(gè)while里面。感覺寫程序的,哪里有空位,就寫到哪里。反正已給字:亂。

我心里第一想的,這么亂的程序,不如自己重寫。

但是,重寫工作量大,先解決問題為主吧。人家只要能用就行。

嘗試運(yùn)行一次,果然卡住,由于程序就一個(gè)while,高亮執(zhí)行很久,單步也一樣。只能導(dǎo)出打探針看看執(zhí)行情況。

最后,終于發(fā)現(xiàn)了原因,有個(gè)儀器有個(gè)設(shè)置程序,設(shè)置之后,會(huì)讀取儀器是否有設(shè)置成功的指令返回。結(jié)果這個(gè)程序,用了一個(gè)while循環(huán),不停的讀取串口緩沖,判斷是否有某個(gè)字符串,收到這個(gè)字符串,才退出while。

而實(shí)際這個(gè)儀器設(shè)置有問題,沒有回復(fù)正確字符串,while循環(huán)退不出,把這個(gè)程序卡住了。而且這個(gè)while,作為子vi的子vi的子vi的程序,嵌套很深。后來把儀器設(shè)置對(duì)了,問題解決。

原版程序不方便截圖,大概如下圖所示,大家自己內(nèi)心體會(huì)一下。

f4a1e6be-36ac-11ee-9e74-dac502259ad0.png

全程遠(yuǎn)程1小時(shí)5分鐘。

所以這里不得不說,有些人寫代碼確實(shí)能跑,但是稍微不注意,就跑不起來。包括這個(gè)等待儀器回復(fù)的這個(gè)while,按常理,不應(yīng)該用一個(gè)while判斷,即使判斷,也要設(shè)置一個(gè)超時(shí),等待一定時(shí)間后后,自動(dòng)退出while,彈出錯(cuò)誤提示。

所以,很多人問的一個(gè)簡(jiǎn)單問題,背后可能是其他更大的問題。

希望我們都不要遇到和接手“祖?zhèn)鳌贝a。





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • LabVIEW
    +關(guān)注

    關(guān)注

    1991

    文章

    3669

    瀏覽量

    331724
  • DAQ
    DAQ
    +關(guān)注

    關(guān)注

    6

    文章

    94

    瀏覽量

    32663
  • 緩存器
    +關(guān)注

    關(guān)注

    0

    文章

    63

    瀏覽量

    11809
  • 延時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    36

    瀏覽量

    15386
  • for循環(huán)
    +關(guān)注

    關(guān)注

    0

    文章

    61

    瀏覽量

    2655

原文標(biāo)題:【粉絲排BUG記錄】老程序卡住了怎么辦?

文章出處:【微信號(hào):小草手把手LabVIEW,微信公眾號(hào):小草手把手LabVIEW】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    程序運(yùn)行過程中,有些數(shù)據(jù)被莫名修改了怎么辦

    導(dǎo)讀:程序運(yùn)行過程中,有些數(shù)據(jù)被莫名修改了,在哪里修改的?又是怎么修改的?這個(gè)代碼我只想知道是否運(yùn)行過,或者運(yùn)行了多少次,但是不想讓程序停下來,或者僅打印調(diào)試信息,怎么辦?當(dāng)這個(gè)變量設(shè)置成某個(gè)數(shù)據(jù)后,我想讓
    的頭像 發(fā)表于 08-10 09:11 ?3023次閱讀
    <b class='flag-5'>程序</b>運(yùn)行過程中,有些數(shù)據(jù)被莫名修改了<b class='flag-5'>怎么辦</b>?

    使用adss軟件編譯程序卡住了的原因?

    使用 adss軟件編譯程序卡住在40 %,此時(shí)顯示編譯已經(jīng)基本結(jié)束,CPU(因特爾i9-13)占用率從80% 降低到了 5 %,說明此時(shí)CPU基本已經(jīng)停止編譯工作。但是編譯無法正常結(jié)束,卡住一小時(shí)后
    發(fā)表于 01-19 06:46

    部署image_classification模型卡住了怎么解決?

    我按照如下教程部署,然后編譯卡住了,誰能幫忙看看是咋回事。 https://github.com/STMicroelectronics/stm32ai-modelzoo-services/blob
    發(fā)表于 04-27 06:29

    正在學(xué)51,但是被卡住了

    剛剛把郭老師的視頻看完,但是在使用自己的單片機(jī)學(xué)習(xí)板的時(shí)候,感覺串口通信以及AD/DA這兩方面被卡住了,有點(diǎn)難以繼續(xù)推進(jìn)。。。AD芯片用的是PCF8591,現(xiàn)在這階段應(yīng)該怎么學(xué)習(xí)呢。。。
    發(fā)表于 05-23 16:19

    labview選項(xiàng)卡每次第一次運(yùn)行點(diǎn)擊了按鈕以后程序卡住了,請(qǐng)問是為什么?如何解決?

    `我做了一個(gè)選項(xiàng)卡界面 里面右按鈕 。每次第一次運(yùn)行 點(diǎn)擊了按鈕以后程序卡住了沒有執(zhí)行我設(shè)置的事件結(jié)構(gòu),請(qǐng)問這是為什么?第一次運(yùn)行程序點(diǎn)擊按鈕后就卡住了,不運(yùn)行測(cè)試
    發(fā)表于 07-06 15:43

    程序在執(zhí)行CSEC_WriteCommandHeader的時(shí)候卡住了怎么解決?

    大家好, 程序在執(zhí)行CSEC_WriteCommandHeader的時(shí)候卡住了,查了幾個(gè)方向,寄存器都沒有報(bào)錯(cuò),現(xiàn)在想知道是不是需要特殊訪問CSE_PRAM。
    發(fā)表于 06-08 06:30

    顯示桌面沒了怎么辦

    顯示桌面沒了怎么辦 我的windows xp的顯示桌面的圖標(biāo)沒有了怎么辦。下載一個(gè)放到系統(tǒng)目
    發(fā)表于 01-18 19:00 ?3902次閱讀

    硬盤自檢死機(jī)怎么辦

    硬盤自檢死機(jī)怎么辦    江西李功:我的電腦每次開機(jī)都要進(jìn)行硬盤檢查(WinXP系統(tǒng)),但總是在34%時(shí)就卡住不動(dòng),這時(shí)候
    發(fā)表于 02-25 10:28 ?1791次閱讀

    NTDETECT失敗怎么辦

    NTDETECT失敗怎么辦    問:我的電腦有時(shí)用閃存或光驅(qū)拷貝一些文件或安裝程序后,電腦就自動(dòng)關(guān)機(jī)了。當(dāng)再啟動(dòng)時(shí)就進(jìn)不了系
    發(fā)表于 02-25 11:08 ?2042次閱讀

    電池?fù)Q新無法可依怎么辦

    電池壞了怎么辦?修。修不好怎么辦?換。
    發(fā)表于 03-19 11:23 ?1467次閱讀

    linux無法識(shí)別U盤怎么辦

    linux無法識(shí)別U盤怎么辦?
    發(fā)表于 05-19 09:08 ?1.7w次閱讀
    linux無法識(shí)別U盤<b class='flag-5'>怎么辦</b>

    日本味精企業(yè)竟卡住了全世界芯片脖子?

    前不久,一篇名為《一家日本味精公司,卡住了全世界芯片的脖子》的文章熱度頗高,由此引發(fā)了筆者的思考。
    的頭像 發(fā)表于 03-01 11:25 ?2057次閱讀

    電腦死機(jī)畫面卡住不動(dòng)

    在使用電腦的時(shí)候,電腦有時(shí)候難免會(huì)出現(xiàn)一些問題,比如電腦死機(jī)或者藍(lán)屏什么的,電機(jī)死機(jī)是很常見的問題,電腦死機(jī)的時(shí)候就說畫面卡住不動(dòng)并且什么都動(dòng)不了。那么電腦死機(jī)畫面卡住不動(dòng)該怎么辦呢?下面小編就為
    的頭像 發(fā)表于 06-25 09:33 ?8.1w次閱讀

    電機(jī)過熱怎么辦?

    電機(jī)過熱怎么辦?WAYON維安PPTC有方案
    的頭像 發(fā)表于 11-01 15:08 ?984次閱讀
    電機(jī)過熱<b class='flag-5'>怎么辦</b>?

    pcb鉆孔偏孔了怎么辦

    pcb鉆孔偏孔了怎么辦?
    的頭像 發(fā)表于 11-22 11:10 ?4174次閱讀
    pcb鉆孔偏孔了<b class='flag-5'>怎么辦</b>?