IAR For Arm 的精確定時及延時等

2021-08-19 20:05:10 字數 602 閱讀 1229

網上查了一些,一種是使用迴圈,但是時間是估算的。還有的是使用intrinsics.h檔案中的__delay_cycles(x)函式。

但是在我的iar 7.8版本中,沒有看到此函式。 我使用的是德州儀器tms570ls系列的晶元,它是有定時功能的,我們可以使用rti模組的**,獲取定時器開啟後的時鐘數, 依照我們的配置檔案hal code generator中的rti配置,1000個週期是0.1ms, 這個應該是根據cpu頻率不同,可以用hal來檢視。

然後我們就可以新增乙個函式來獲取定時器開啟後的tick數。 引數compare表示是那個定時器,根據cpu型號來定取值範圍。

uint32_t rtigettick(uint32_t compare)

這個函式返回的就是定時器啟動後的tick數,按照我的專案的配置,是1000tick數代表0.1ms,這樣我們就可以再編寫下面的函式。 這樣就可以得到乙個精度是0.1ms的延時程式了。 需要注意的是,這個函式只有在定時器啟動後才可以使用。 

void rtidelay(uint32_t msec)

}

windows下精確定時總結

本文對windows平台下常用的計時函式進行總結,包括精度為秒 毫秒 微秒三種精度的5種方法。分為在標準c c 下的二種time 及clock 標準c c 所以使用的time 及clock 不僅可以用在windows系統,也可以用於linux系統。在windows系統下三種,使用windows提供的...

使用AlarmManager實現精確定時任務

最近實現了乙個小專案 定時執行任務。專案位址 坑 執行時間不准甚至不執行。各種查資料,無果 可能是搜商不夠 最終實現 將寫的應用加入手機的白名單或新增為保護程式 不同的手機有不同的叫法 允許程式鎖屏後能執行。實現思路 使用pendingintent.getbroadcast 實現到指定時間傳送廣播,...

VC中基於 Windows 的精確定時

vc中基於 windows 的精確定時中國科學院光電技術研究所 遊志宇 coledatetime start time coledatetime getcurrenttime coledatetimespan end time coledatetime getcurrenttime start ti...