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

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

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

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

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

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

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

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

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

那會是什么導致失聯(lián)了呢?

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

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

2、MDK軟件問題

3、MDK 工程兼容問題

4、看門狗復位(窗口、獨立看門狗)

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

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

此時,我們又該如何解決呢?這就是本篇筆記的重點。

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

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

這里我們看看獨立看門狗這個位的介紹:

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

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

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

DBGMCU_Config(DBGMCU_IWDG_STOP, ENABLE);

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

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

那如果說,原來的代碼沒有考慮這個點,沒有配置這個位,咋辦?

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

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

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

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

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

審核編輯 :李倩

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

    關(guān)注

    31

    文章

    5357

    瀏覽量

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

    關(guān)注

    30

    文章

    4797

    瀏覽量

    68707

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

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

收藏 人收藏

    評論

    相關(guān)推薦

    TPL1401數(shù)字電位器易性和非易性的區(qū)別是什么?

    數(shù)字電位器存儲類型標注具有“易性”,他的意思是不是說,假設(shè)當前已經(jīng)調(diào)節(jié)好電位器處于3.5kΩ這個位置,那么斷電再上電后,電位器就回到初始狀態(tài)位置,不再是3.5kΩ這個位置。“非易性”就是斷電再上電后還是3.5KΩ這個位置
    發(fā)表于 11-21 07:15

    ADS1292R關(guān)閉呼吸波后,導聯(lián)偵測失效怎么解決?

    ,導聯(lián)偵測失效,導聯(lián)狀態(tài)一直為連接狀態(tài),無論是否真的連接了人體/模擬器。 //CONFIG1|CONFIG2|LOFF|CH1SET|CH2SET|RLD_SENS|LOFF_SENS
    發(fā)表于 11-18 08:11

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

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

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

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

    發(fā)電機磁會導致逆功率嗎

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

    電路的壓保護常由什么來實施

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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