keil調(diào)試怎么看語句運行時間(keil5調(diào)試狀態(tài)怎么看運行到哪了)
在Keil運行時可以看時間見圖但只有在軟件仿真時可以在Options for Taget #39Taget 1#39中,Debug插頁里,點Use Similation見圖一在進(jìn)入Debug后,圖二綠框中所示即運行的機器周期數(shù)States和時間Sec,以μS為。
在調(diào)試仿真里,在你需要計算時間的程序兩端設(shè)斷點,然后比較兩個斷點下的系統(tǒng)時間。
你的面板看起來不正常啊為啥要把register窗口拖到最左邊這里面顯示的是寄存器的值,沒有運行時間周期數(shù)我打開個LPC17xx的工程,軟仿界面如下。
1先進(jìn)入調(diào)試模式 2可以看到左側(cè)欄有運行時間區(qū)域 3可以進(jìn)行單步調(diào)試,時間會變化的,要注意設(shè)置好你的晶振,這個會影響你的運行時間的。
這個需要編譯之后在匯編視圖下查看每一句匯編代碼都有固定的執(zhí)行時間查個匯編與執(zhí)行機器時間對應(yīng)表就可以算出總的機器周期,然后根據(jù)振蕩頻率就可以精確計算。
圖中兩個紅圈顯示的都是程序運行時間,并且右下角的可以在運行時清零重新計時,可以切換t0,t1,t2這里t0,t1,t2顯示的不是定時器t0,t1,t2的值這里圖片看不清,請看item92。
進(jìn)入DEBUG狀態(tài),右下角有顯示你需要開始計時時,右擊選擇reset,然后執(zhí)行你需要測試的程序部分就可以了進(jìn)行軟件仿真前需要設(shè)置正確你的晶振頻率,在option,target選項頁用軟仿真但是程序太長,很消耗時間的話,觀察起來。
keil里面如果是匯編的話可以根據(jù)匯編指令的機器周期配合你的主晶振來計算,但C的話就不一定了除非你在軟件仿真里面設(shè)置斷點,查看每句執(zhí)行的時間。
sec項在調(diào)試界面下才會出現(xiàn)編譯項目并順利通過后,進(jìn)入Debug調(diào)試模式,在Project Workspace中就會出現(xiàn)sec項,可利用其估算代碼段運行時間。
按Ctrl+F5開始調(diào)試,在UV3的底部就有時間出現(xiàn)按F10單步調(diào)試,可以看到時間 在增加你可以在延時子程序開始和結(jié)束處加上斷點,然后按F5運行,黃色指針會停在延時開始,再F5,指針跳到延時結(jié)束 這時可以看到時間 變化。
可在Keil調(diào)試時左邊,看到Proect Workspace下的Internal 看到sec即是時間,執(zhí)行斷點調(diào)試,即可計算時間了。
是不是那個窗口太小看不全sec?那是微秒級變化的另外,你可看KEIL工程的窗口底部,那也有運行時間的。
可以的,但是和版本有關(guān),據(jù)我的經(jīng)驗,以前我用51的時候是可以看每一步所花的時間的,但是升級到54之后反而沒法看了你不知道怎么看,百度一下 IAR cyclecounterC程序段執(zhí)行的時間可以通過IAR的resister cyclecounter。
暈,只能判斷一條匯編指令執(zhí)行的時間,不能判斷一個C語句的時間的因為C語句經(jīng)過匯編生成匯編程序才能知道需要多少時間,你也知道不同的指令是對應(yīng)不同的機器周期的吧你可以在KEIL調(diào)試窗口觀察匯編文件查看C語句對應(yīng)生成的指令就。
stc12有1T模式和12T模式,過快應(yīng)該是是用了1T模式,擅入軟件里配置成12T模式后調(diào)試修改參數(shù) 另,軟件等待延時的方法本來就不可靠,建議使用定時器。
1首先打開mainc文件,在頭寫一個delay的延時方法,如下圖2然后在延時方法下面寫出自定義設(shè)置系統(tǒng)時鐘的方法,如下圖3然后就可以在入口程序中首先調(diào)用 設(shè)置系統(tǒng)時鐘方法,傳入對應(yīng)的參數(shù),先設(shè)置好系統(tǒng)時鐘,然后。
掃描二維碼推送至手機訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請注明出處。