?? 調(diào)試方法.txt
字號:
通過設(shè)置斷點可以模擬調(diào)試整個機器的運作過程。
1。調(diào)試H_F信號的正常
去除所有斷點(小手打叉的一個按鈕)
在兩個判斷H_F信號的-里面-設(shè)置斷點,然后全速運行,打開外設(shè)的P1口,P3口,點擊P1口的0號上面的方框勾,去除勾表示設(shè)置為0
此時應(yīng)該進入主函數(shù)的H_F中斷,然后把P1口的0號勾上,先勾上面的,再勾下面的,再全速運行,這個斷點進入表示P10采集正常。
再次點擊P1口的0號上面的方框勾,去除勾,此時進入FLAGWP10的程序塊里面的H_F斷點表示P10采集正常。
2。調(diào)試P32,P35信號正常
去除所有斷點(小手打叉的一個按鈕)
在Ring_In的判斷-里面-設(shè)置斷點,然后再Line_Close的判斷-里面-設(shè)置斷點
全速運行
去掉P3口的2號上面的方框勾,這個斷點進入Ring_In表示P32采集正常。把P3口的2號勾上
全速運行
去掉P3口的5號上面的方框勾,這個斷點進入Line_Close表示P35采集正常。把P3口的5號勾上
全速運行
3。測試Signal_En,Busy_Tone 信號正常
去除所有斷點(小手打叉的一個按鈕)
在Ring_In的判斷-里面-設(shè)置斷點,再在flagP32程序塊里面的Busy_Tone的判斷-里面-設(shè)置斷點
按照2方法,進入P32程序塊
打開watch windows窗口,填加SYSPINSTA,TimerCmount[5],CHECK_Reg[5],到watch#1里面(我的工程已經(jīng)填加了)
在flag100ms的-里面-設(shè)置一個斷點
運行
中斷時,去掉P3口的3,4號上面的方框勾,因為每100ms會斷點中斷一次,所以能看見watch #1里面變量的狀態(tài)。
點擊運行,斷點停下,查看TimerCmount[5],CHECK_Reg[5]的0和1號元素
查看Signal_En,Busy_Tone ,當(dāng)TimerCmount顯示0x1x時,需要運行很多次,一直到CHECK_Reg顯示到大于0x009e,
運行到大于后,改變P3口的3,4號狀態(tài),再運行,此時會發(fā)現(xiàn)TimerCmount會變成0x1x,
同時低位開始再增加,一直到需要判斷的數(shù)出現(xiàn),這個就表示回鈴很正常進入了,
最后會進入Busy_Tone 的中斷斷點里面
4。測試Signal_En,Ring_respond 信號正常
去除所有斷點(小手打叉的一個按鈕)
在H_F的判斷-里面-設(shè)置斷點,再在flagP10程序塊里面的Ring_respond 的判斷-里面-設(shè)置斷點
按照1方法,進入P10程序塊
打開watch windows窗口,填加SYSPINSTA,TimerCmount[5],CHECK_Reg[5],到watch#1里面(我的工程已經(jīng)填加了)
在flag100ms的-里面-設(shè)置一個斷點
運行
中斷時,去掉P3口的3,4號上面的方框勾,因為每100ms會斷點中斷一次,所以能看見watch #1里面變量的狀態(tài)。
查看Signal_En,Ring_respond ,當(dāng)TimerCmount顯示0x2x時,需要運行很多次,一直到CHECK_Reg顯示到大于0x01FC,
運行到大于后,改變P3口的3,4號狀態(tài),再運行,此時會發(fā)現(xiàn)TimerCmount會變成0x3x,
需要運行很多次,一直到CHECK_Reg顯示到大于0x00DA,運行到大于后改變P3口的3,4號狀態(tài),
再運行,此時會發(fā)現(xiàn)TimerCmount會變成0x2x,同時低位開始再增加,一直到需要判斷的數(shù)
出現(xiàn),這個就表示回鈴很正常進入了,最后會進入Ring_respond 的中斷斷點里面
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -