如題
你好,推薦開(kāi)一個(gè)定時(shí)器來(lái)監(jiān)控一段代碼的運(yùn)行時(shí)間
您好,你可以通過(guò)使用系統(tǒng)時(shí)基定時(shí)器(64位計(jì)數(shù)器),在該段代碼開(kāi)頭和結(jié)尾分別獲取一個(gè)計(jì)數(shù)器的值,通過(guò)這兩個(gè)值的差計(jì)算代碼的運(yùn)行時(shí)間?;蚩芍苯硬榭丛摱未a的匯編指令,通過(guò)該段代碼指令個(gè)數(shù)乘以指令周期計(jì)算該段代碼的運(yùn)行時(shí)間?;蚩赏ㄟ^(guò)定時(shí)器更新中斷,通過(guò)計(jì)算這段代碼運(yùn)行期間進(jìn)入更新中斷的次數(shù)大概計(jì)算出這段代碼的運(yùn)行時(shí)間。
你好,根據(jù)你的方法可以告知一下獲取系統(tǒng)時(shí)基定時(shí)器計(jì)數(shù)器的值的函數(shù)名嗎?謝謝
systick不能用么?
原理就是程序段開(kāi)始的位置斷點(diǎn)看systick的值,然后程序結(jié)速的位置也斷點(diǎn)再看systick的值,后面的值減去前面的值就是這一段程序執(zhí)行消耗的ms時(shí)間。
看我的貼子吧
您好,@Zaxife,系統(tǒng)時(shí)基定時(shí)器就是systick。@Sunonein,關(guān)于獲取系統(tǒng)時(shí)基定時(shí)器的計(jì)數(shù)值,可通過(guò)讀取計(jì)數(shù)器寄存器獲取計(jì)數(shù)值,如下圖。關(guān)于systick具體介紹,可參考對(duì)應(yīng)MCU的應(yīng)用手冊(cè),可直接在官網(wǎng)搜索對(duì)應(yīng)型號(hào)下載