1.systick介紹
Systick就是一個定時器而已,只是它放在了NVIC中,主要的目的是為了給操作系統提供一個硬件上的中斷(號稱滴答中斷)。只要不把它在SysTick控制及狀態寄存器中的使能位清除,就永不停息。
CH579系統嘀嗒時鍾應用
main中添加 SysTick_Config(32000); //設定嘀嗒時間
自動重新加載計數值,計數時鍾32M,以1ms為例,參數是32000
中斷函數
void SysTick_Handler()
{
SysTick->CTRL &= ~(SysTick_CTRL_COUNTFLAG_Msk);//清除中斷標志
}
CH573系統嘀嗒時鍾應用
SysTick_Config(32000);//設定嘀嗒時間
自動重新加載計數值,計數時鍾(默認)32M(可選4M),以1ms為例,參數是32000
__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void SysTick_Handler()
{
SysTick->CNTFG &= ~(1<<1);//清除中斷標志
}
CH58x CH59x系列嘀嗒定時器