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

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

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

代碼調(diào)著調(diào)著就失聯(lián)了?

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-01-10 15:07 ? 次閱讀

不知道你是否有這樣的體驗(yàn):代碼單步調(diào)試,調(diào)著調(diào)著,出現(xiàn)了下面的提示框:

8da6eeec-9093-11ed-bfe3-dac502259ad0.png

很多時(shí)候,莫名其妙,一般情況,只能退出調(diào)試,再重新進(jìn)入。

一般沒啥影響,但有的時(shí)候,我們是為了抓 BUG 現(xiàn)場(chǎng)才進(jìn)入的調(diào)試模式《BUG 終結(jié)者,現(xiàn)場(chǎng)抓獲!|顛覆認(rèn)知》,一旦因?yàn)槭?lián)導(dǎo)致不能繼續(xù)調(diào)試,估計(jì)得罵娘了(BUG 容易復(fù)現(xiàn)還好,下次在來,但是很難復(fù)現(xiàn)的話,就麻煩大了)。

那會(huì)是什么導(dǎo)致失聯(lián)了呢?

魚鷹總結(jié)了以下幾種可能:

1、調(diào)試器連線(PC 到調(diào)試器,調(diào)試器到芯片)不正常。

2、MDK軟件問題

3、MDK 工程兼容問題

4、看門狗復(fù)位(窗口、獨(dú)立看門狗)

連線問題好解決,各種換即可,MDK 軟件問題,只能說盡量找個(gè)穩(wěn)定的版本了。另外就是 MDK 工程兼容的問題,比如這個(gè)項(xiàng)目開始不是你負(fù)責(zé)的,后來你入職了,用了另一個(gè)版本的 MDK,再次打開這個(gè)工程的時(shí)候,就可能出現(xiàn)問題,一般來說,這種情況下,不要嫌麻煩,直接新建工程即可(可以看這篇筆記《如何快速更換 MDK 工程?》)。

還有一種很容易忽略的可能是,項(xiàng)目代碼開啟了看門狗,單步調(diào)試時(shí)間太長(zhǎng),沒有及時(shí)喂狗導(dǎo)致復(fù)位。

此時(shí),我們又該如何解決呢?這就是本篇筆記的重點(diǎn)。

參考手冊(cè)最后面,我們可以看到這個(gè)寄存器DBGMCU_CR。

8dd7396c-9093-11ed-bfe3-dac502259ad0.png

這里我們看看獨(dú)立看門狗這個(gè)位的介紹:

8de54ba6-9093-11ed-bfe3-dac502259ad0.png

可以看到,這個(gè)作用就是,當(dāng)我們進(jìn)入調(diào)試狀態(tài)時(shí),看門狗計(jì)數(shù)器停止工作。

F103 函數(shù)設(shè)置如下:

DBGMCU_Config(DBGMCU_IWDG_STOP, ENABLE);

什么意思?就是說,當(dāng)我們?cè)趩尾秸{(diào)試,程序停下來進(jìn)行分析的時(shí)候,因?yàn)樵O(shè)置了該位,就可以讓計(jì)數(shù)器不工作,這樣一來,即使停止再久的時(shí)間,只要在調(diào)試模式下,都不會(huì)因?yàn)榭撮T狗而復(fù)位,因?yàn)橛?jì)數(shù)器已經(jīng)不工作了,也就不能觸發(fā)復(fù)位動(dòng)作了。而一旦退出調(diào)試模式,看門狗繼續(xù)正常工作。

這樣也就不會(huì)導(dǎo)致前面說的失聯(lián)問題,可以讓你專心分析代碼邏輯。

那如果說,原來的代碼沒有考慮這個(gè)點(diǎn),沒有配置這個(gè)位,咋辦?

如果看門狗超時(shí)時(shí)間比較長(zhǎng)(十幾秒以上),你完全可以在進(jìn)入調(diào)試模式后,從容打開寄存器窗口,手動(dòng)設(shè)置該位,這樣臨時(shí)抱佛腳的行為也能起作用。

那如果只有幾秒鐘咋辦?手動(dòng)操作可能根本來不及,魚鷹在此再支一招:

使用 MDK 中的 ini 文件,讓其進(jìn)入調(diào)試模式的同時(shí),自動(dòng)設(shè)置該位,相當(dāng)方便。

那如果是毫秒級(jí)別的呢?自求多福吧,或許 ini 的方法可以解決,或許進(jìn)入調(diào)試模式后,在程序運(yùn)行的時(shí)候(別停!?。。?,先用 MDK 的命令窗口或寄存器窗口設(shè)置一下該位,再停止程序運(yùn)行去分析問題。

總之,一定要先把這個(gè)位給設(shè)置了再慢慢調(diào)試分析,否則,可能調(diào)著調(diào)著,最終調(diào)了一個(gè)寂寞。

審核編輯 :李倩

聲明:本文內(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)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5301

    瀏覽量

    119861
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4728

    瀏覽量

    68248

原文標(biāo)題:代碼調(diào)著調(diào)著就失聯(lián)了???

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    發(fā)電機(jī)磁后,會(huì)出現(xiàn)哪些現(xiàn)象?

    發(fā)電機(jī)磁是指發(fā)電機(jī)的勵(lì)磁系統(tǒng)出現(xiàn)故障,導(dǎo)致發(fā)電機(jī)不能正常產(chǎn)生磁場(chǎng),從而影響發(fā)電機(jī)的正常運(yùn)行。磁故障是電力系統(tǒng)中較為常見的故障之一,對(duì)發(fā)電機(jī)組的安全運(yùn)行和電力系統(tǒng)的穩(wěn)定供電具有重要影響。 一
    的頭像 發(fā)表于 09-27 09:10 ?449次閱讀

    發(fā)電機(jī)磁對(duì)發(fā)電機(jī)自身的影響有哪些

    發(fā)電機(jī)磁是指發(fā)電機(jī)轉(zhuǎn)子磁場(chǎng)的消失或減弱,導(dǎo)致發(fā)電機(jī)無法正常工作。磁現(xiàn)象對(duì)發(fā)電機(jī)自身的影響是多方面的,包括對(duì)發(fā)電機(jī)本身、電力系統(tǒng)以及設(shè)備安全等方面的影響。 1. 對(duì)發(fā)電機(jī)自身的影響 1.1 轉(zhuǎn)子
    的頭像 發(fā)表于 09-26 18:14 ?564次閱讀

    發(fā)電機(jī)磁會(huì)導(dǎo)致逆功率嗎

    發(fā)電機(jī)磁確實(shí)會(huì)導(dǎo)致逆功率現(xiàn)象的發(fā)生。以下是對(duì)這一問題的詳細(xì)分析: 一、發(fā)電機(jī)磁的原因 發(fā)電機(jī)磁的主要原因是繞組損壞或電源電壓不足。具體來說,當(dāng)發(fā)電機(jī)繞組出現(xiàn)斷路、短路或?qū)Φ亟^緣不良等情況
    的頭像 發(fā)表于 09-26 18:11 ?299次閱讀

    電路的壓保護(hù)常由什么來實(shí)施

    壓保護(hù)是電力系統(tǒng)和電氣設(shè)備中非常重要的安全措施之一,它能夠確保在電源電壓下降到一定閾值以下時(shí),自動(dòng)切斷電路,從而保護(hù)設(shè)備不受損害,防止事故的發(fā)生。壓保護(hù)的實(shí)施通常涉及到多種技術(shù)和設(shè)備,包括但不
    的頭像 發(fā)表于 09-20 14:47 ?468次閱讀

    變電站母線壓的依據(jù)是什么

    變電站母線壓是指變電站母線電壓降低到一定值以下,導(dǎo)致變電站不能正常供電的現(xiàn)象。母線壓是電力系統(tǒng)運(yùn)行中的一種常見故障,對(duì)電力系統(tǒng)的安全穩(wěn)定運(yùn)行具有重要影響。 一、變電站母線壓的依據(jù) 電壓降低
    的頭像 發(fā)表于 08-13 17:25 ?752次閱讀

    母線壓處理的一般程序是什么

    母線壓是指電力系統(tǒng)中母線電壓突然下降至零或接近零的情況,這通常會(huì)導(dǎo)致電力系統(tǒng)的不穩(wěn)定和設(shè)備損壞。為了確保電力系統(tǒng)的安全穩(wěn)定運(yùn)行,需要對(duì)母線壓進(jìn)行及時(shí)有效的處理。以下是母線壓處理的一般程序,我們
    的頭像 發(fā)表于 08-13 17:06 ?427次閱讀

    如何保障變電站母線零壓措施

    一、引言 變電站是電力系統(tǒng)的樞紐,負(fù)責(zé)將電能從發(fā)電站輸送到用戶端。母線作為變電站的重要組成部分,承擔(dān)著電能的分配和傳輸任務(wù)。然而,母線壓?jiǎn)栴}時(shí)有發(fā)生,給電力系統(tǒng)的安全穩(wěn)定運(yùn)行帶來了極大的威脅。因此
    的頭像 發(fā)表于 08-13 16:16 ?349次閱讀

    戶外聯(lián)后如何使用北斗短報(bào)文終端報(bào)警求救?

    北斗短報(bào)文終端在戶外探險(xiǎn)中展現(xiàn)其卓越的價(jià)值,特別是在緊急聯(lián)情況下。當(dāng)探險(xiǎn)者深入無人區(qū),面對(duì)無網(wǎng)絡(luò)覆蓋的困境時(shí),北斗短報(bào)文終端成為了他們的“生命線”。通過這一終端,探險(xiǎn)者能夠直接利用北斗衛(wèi)星發(fā)送
    的頭像 發(fā)表于 07-24 11:58 ?398次閱讀
    戶外<b class='flag-5'>失</b><b class='flag-5'>聯(lián)</b>后如何使用北斗短報(bào)文終端報(bào)警求救?

    實(shí)現(xiàn)智能化生產(chǎn)車間的MES管理系統(tǒng)

    ??隨著工業(yè)4.0和智能制造的浪潮席卷全球,數(shù)控車間作為現(xiàn)代制造業(yè)的核心,其智能化、自動(dòng)化的轉(zhuǎn)型已成為必由之路。在這場(chǎng)變革中,制造執(zhí)行系統(tǒng)(MES)扮演著至關(guān)重要的角色,它如同數(shù)控車間的“大腦”,協(xié)調(diào)著各個(gè)生產(chǎn)環(huán)節(jié),確保生產(chǎn)的高效、精準(zhǔn)與可控。
    的頭像 發(fā)表于 06-14 10:03 ?363次閱讀
    實(shí)現(xiàn)智能化生產(chǎn)車間的MES管理系統(tǒng)

    想要自行開發(fā)愛星物聯(lián)的網(wǎng)頁,對(duì)著代碼一頭霧水?

    伙伴們,愛星物聯(lián)IoT平臺(tái)開源版本已經(jīng)上線,有沒有小伙伴在自行開發(fā)愛星物聯(lián)的網(wǎng)頁時(shí),對(duì)著代碼一頭霧水?工欲善其事,必先利其器!開發(fā)前先來瞅瞅如何配置環(huán)境。 工具安裝 先準(zhǔn)備好裝備,根據(jù)使用的電腦系統(tǒng)
    的頭像 發(fā)表于 04-16 15:57 ?314次閱讀
    想要自行開發(fā)愛星物<b class='flag-5'>聯(lián)</b>的網(wǎng)頁,對(duì)著<b class='flag-5'>代碼</b>一頭霧水?

    壓脫扣器和欠壓脫扣器的區(qū)別

    壓脫扣器和欠壓脫扣器的區(qū)別? 壓脫扣器和欠壓脫扣器是在工業(yè)生產(chǎn)過程中常用的兩種安全裝置。它們的主要作用是為了保護(hù)系統(tǒng)、設(shè)備和工作人員的安全,當(dāng)電壓超過或低于規(guī)定范圍時(shí),自動(dòng)進(jìn)行相應(yīng)的操作,斷開
    的頭像 發(fā)表于 04-08 15:55 ?4906次閱讀

    Keli5+Proteus8.13聯(lián)調(diào)失敗的原因?

    大佬,Keli5+Proteus8.13聯(lián)調(diào)失敗,提示這個(gè)問題,系統(tǒng)是win11
    發(fā)表于 03-27 06:16

    MCSDK 5.2電機(jī)啟動(dòng)后經(jīng)常導(dǎo)致串口聯(lián)的原因有哪些?

    我用5.2的庫(kù)生成的FOC程序?qū)﹄姍C(jī)進(jìn)行控制,上電后通過workbench 控制電機(jī),正常啟動(dòng)電機(jī)后,串口會(huì)聯(lián),電機(jī)還保持著聯(lián)前的狀態(tài)轉(zhuǎn)動(dòng)
    發(fā)表于 03-15 06:37

    變壓器流是什么原因

    變壓器流是什么原因? 變壓器流是指變壓器一側(cè)或雙側(cè)電流明顯減小的現(xiàn)象。變壓器是用于變換交流電壓的一種設(shè)備,由于其結(jié)構(gòu)特點(diǎn)以及運(yùn)行環(huán)境等因素的影響,可能會(huì)導(dǎo)致變壓器流。下面將從以下幾個(gè)方面進(jìn)行
    的頭像 發(fā)表于 12-26 15:04 ?827次閱讀

    用MSP430連接ADAS1000BSTZ和2片ADAS1000-2BSTZ實(shí)現(xiàn)18導(dǎo)聯(lián),使用中出現(xiàn)某些導(dǎo)聯(lián)脫落檢測(cè)異常怎么解決?

    用MSP430連接ADAS1000BSTZ和2片ADAS1000-2BSTZ實(shí)現(xiàn)18導(dǎo)聯(lián),使用中出現(xiàn)某些導(dǎo)聯(lián)脫落檢測(cè)異常的問題。具體情況如下: 1、編號(hào)2的采集板出現(xiàn)V5、V6導(dǎo)
    發(fā)表于 12-13 08:11