TMR0怎樣實現(xiàn)長時間的定時?

看例程這里最長的定時周期只有1s多,如果要實現(xiàn)10分鐘甚至10小時的定時,應(yīng)該怎樣做比較合理?


/*********************************************************************
?*?@fn??????TMR0_TimerInit
?*
?*?@brief???定時功能初始化
?*
?*?@param???t???????-?定時時間,基于當(dāng)前系統(tǒng)時鐘Tsys,?最長定時周期?67108864
?*
?*?@return??none
?*/
void?TMR0_TimerInit(uint32_t?t)
{
????R32_TMR0_CNT_END?=?t;
????R8_TMR0_CTRL_MOD?=?RB_TMR_ALL_CLEAR;
????R8_TMR0_CTRL_MOD?=?RB_TMR_COUNT_EN;
}


定時器是26位的,最大數(shù)值是2^26。在主頻60M的情況下,單次定時最長也就1.1s左右。如果您要定時很長的時間。您可以通過定時器里面計數(shù)累加來做到延長。

也可以使用我們tmos任務(wù)來實現(xiàn),tmos任務(wù)單位時間為625us,tmos_start_task傳入1600則為1s,最長為23小時。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频