-
2l溶液非常好。
但是,如果程式太長且耗時,觀察起來也非常費力。 我的方法是設定指令,當程式開始執行時,在微控制器埠上輸出乙個狀態,在程式執行時輸出另乙個狀態,然後用示波器監控該埠狀態變化所需的時間,可以更準確地計算程式執行時間,這種方法適用於觀察I2C匯流排, SPI匯流排、USART等耗時且未知的程式非常有效。
-
進入除錯狀態,步進視窗,在螢幕左側的視窗中,您可以找到程式執行所需的時間和週期數。
-
程式執行時間可以通過設定斷點來測量。
-
1.首先進入除錯模式。
2.您可以看到左側邊欄上有乙個執行時間區域。
3.您可以進行單步除錯,時間會發生變化,注意設定您的晶體振盪器,這會影響您的執行時間。
-
將程式放入 Keil 除錯環境中,設定程式該部分的斷點,然後點選全速執行,左側邊欄中有乙個以微秒為單位的時鐘。
-
是的,您想知道的程式部分在開頭和結尾都有乙個斷點,全速執行。 在左列中,您可以看到執行時間。
-
這次和你的晶體振盪器有關係!
-
很難直接計算時間,不同的微控制器有不同的命令時間。 根據具體情況,需要在編譯中看到幾個指令。 最好用示波器測試時間。
此外,中斷程式可能會影響此延遲。
要想要精確的時間,最好使用計時器。
-
110 它不是計算的,它是嘗試的。
-
用示波器檢視它,或將其拆開以查詢指令週期。
-
首先,晶體振盪器是否按照您的預期設定。
第二,你應該是C語言的程式,而不是匯程式設計序,第三,它取決於實際執行時間,所以如果你想反彙編,你可以清楚地看到它。
-
你可以看一下微控制器的晶體振盪器,比如12MHz,那麼執行一次的時間就看指令了,有的單週期,有的雙週期,比如加法指令是兩個週期,做乙個加法需要兩個週期的時間1 120000000*2(秒),其他時間依此類推。
-
c 語言程式的工作時間沒有計算公式。
我只能自己嘗試,慢慢探索規則。
-
帶計時器; #include
clock_t begin;
開始記錄時間。
begin=time();
您想測試當時的程式。
begin=time()-begin;獲取測試程式執行的時間。
printf("%ld",begin/clocks_per_sec);輸出時間以秒為單位,秒。
-
#include
clock_t begin;
開始記錄時間。
begin=time();
您想測試當時的程式。
begin=time()-begin;獲取測試程式執行的時間。
printf("%ld",begin/clocks_per_sec);輸出時間以秒為單位,秒。
-
單任務“OS”不容易實現,最好通過外部定時器進行監控,比如某個IO的電平變化。
。如果你必須在內部做,很難在幾微秒內完成...... 達到毫秒,它仍然更容易。