『壹』 單片機調試的問題
模擬器就是模擬單片機運行的行為,程序是在模擬器運行的向電腦反饋運行結果並接受電腦的控制,所以你可以設置斷點,而單片機運行卻不接受電腦的控制,所以就是支持ISP的也不可以斷點處停下來,當然有些支持硬體Debug的單片機,如MSP430,就不要模擬器,直接可以通過下載線和電腦聯系模擬,但實際運行中(脫離下載線或調試環境)就不會在斷點處停下來。總而言之斷點只能用在模擬中,而不能在單片機獨立運行的環境中運用。
不用插單片機插模擬器的模擬頭在扳上插單片機的位置。
『貳』 在keil軟體中調試程序時,無法設置斷點,必須切換到匯編語言窗口才能設置斷點,怎麼辦
首先要說的,Keil是非常不錯的模擬和調試工具。
其次要說的就是我個人理解的經驗:
1、keil是模擬MCU的內部特性和外部設備(I/O口、中斷、串列、定時等)特性,其模擬是一種「自內向外」的真實模擬,換句話說,可以又任意一個內部數據處理結果去指導I/O口工作,但這種I/O工作的方向是「輸出型」的(廣義),而對於MCU要去獲取外部狀態的工作(我把它稱作為「輸入型」的),則在Keil中調試無法能反映真實情況,必須要配合相應硬體才能正常調試,因為當僅用Keil軟體(不用任何其他硬體)在電腦上「軟」調試工程時,讀取外部I/O口,讀過來的數據都是1,但這可能並不意味著你的軟體有問題。
2、有了真實「輸出型」的調試,而無法「輸出型」的調試,你是不是覺得只有一半的功能呢?其實不是這樣的。當我們要去調試「輸出型」時,我的做法是用軟體去製作一個和外部硬體特性一樣的軟體模塊(一般這個模塊做起來是比較費力的),也就是說用我做的另一個獨立的軟體模塊去產生或選取MCU需求的輸入數據,這樣就能驗證某些過程是否在執行中按照自己的意識操作。
我曾經就只有keil做過DS18B20的「搜索ROM」的演算法實現和整個過程(因為如果直接燒進MCU程序的話,如果不出正確結果,其實根本就發現不了錯誤存在),我做了一個外部DS18B20的硬體模擬軟體模塊(由很多個函數組成),後來就是在Keil的一些「軟」單步調試中發現了我所有演算法中的出現的問題,最後我才把多個DS18B20連接在一個MCU的I/O口上,全部正確的獲取了在線的能正常工作的DS18B20的64位地址。
最後我想說的就是,僅在keil下去模擬外部硬體特性做需要的軟體模塊比較會忽略某些方面而出錯的(一般而言),所以要開發keil工程話,我非常推薦用相應的模擬器(這個可是硬體哦)去調試你的項目。
PS:可惜我一直都是沒有硬體模擬器的條件下開發工作的,有的時候會相當耗時。
『叄』 VC++6.0無法設置斷點進行調試是怎麼回事(如下圖所示)
斷點無效。調試器沒有連接到要調試的進程,被調試的進程找不到調試資料庫或日期時間不同需要重新編譯。 實心圓圈是可用的斷點。空心的,就是無效的
『肆』 單片機軟體調試方法,請問單片機程序調試都有什麼方法
用keil調試,主要是設置斷點,單步執行,運行到游標處,查看運行時間,監視變數和表達式的值,這些都是常用的手段,你仔細看看工具欄就知道了
『伍』 大家好,我是學習pic單片機新手,這幾天我用mplab sim調試程序發現斷點在用單步執行調試時斷不了啊
首先PIC單片機的中斷在C中只能寫一個中斷函數,進中斷後判斷是什麼中斷標志然後再執行不同的功能。
然後保證你中斷的使能都開正確。
我覺得有可能是你單步調試步數不夠,遠沒有到定時的時間,所以一直沒跳入中斷。你可以在中斷內部設置一個斷點,然後運行,看是否能進入。
『陸』 單片機調試的方法和步驟是什麼
首先,了解硬體介面以及功能,以便於配置IO埠;
第二,根據硬體設計以及功能需要,編寫單片機程序;
第三,編譯程序,把程序燒寫到單片機中,或者鏈接debug調試器,在線對單片機進行模擬;
第四,在線模擬可以支持單步調試和斷點調試,測試單片機的軟體功能;
第五,如果出現問題,首先分析是軟體邏輯的問題,還是硬體方面的問題,以便於對症下葯;
最後,將軟體寫入單片機的flash中,將單片機加密,防止其他人竊取單片機內部代碼。
『柒』 keil中調試的時候為什麼不能設置斷點了 雙擊無效!F無效
如果你滑鼠點中的代碼被編譯器優化掉,這樣的代碼在硬體中不存在(被優化掉了),所以打不上斷點的.
另外如果是斷點個數超過硬體限制,一般會彈出一個提示斷點個數過多的提示的.所以你要打斷點的代碼被優化的可能性比較大.
『捌』 在keil下用ulink2調試能夠單步運行但是為什麼不能設置斷點
有兩點需注意:
有些地方是不能打斷點(如:變數定義處)。
代碼優化之後,有些地方不會執行,所以不能斷點。
Keil系列教程:
http://blog.csdn.net/column/details/13472.html
『玖』 單片機中如何用斷點方式調試程序
在程序某個地方放個函數或子程序,像串口發送程序或LED顯示程序,執行到這里LED點亮或串口發出你想看的數據,這就是斷點方式調試
『拾』 單片機調試 中斷進不去為什麼
我試了,可以進入中斷,只是你的a值太大了,要等很久P1口才移位,你可以把a改成5試一下,循環流水燈
,你是單步調試嗎?那你先將a改成1,在a--;處加一斷點連續運行,再單步調應該就可以了