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