STM32F30X SYSTICK做非精確的delay功能
[導(dǎo)讀]voiddelay_us(u16n){SysTick->LOAD=48*n;//裝載計(jì)數(shù)器因?yàn)闀r(shí)鐘為48Mhz,48次1usSysTick->CTRL=0x00000005;//時(shí)鐘來(lái)源設(shè)為為HCLK(48Mhz),打開(kāi)定時(shí)器while(!(SysTick->CTRL&0x00010000));//等待計(jì)數(shù)到0SysTick->CTRL=0
voiddelay_us(u16n)
{
SysTick->LOAD=48*n;//裝載計(jì)數(shù)器因?yàn)闀r(shí)鐘為48Mhz,48次1us
SysTick->CTRL=0x00000005;//時(shí)鐘來(lái)源設(shè)為為HCLK(48Mhz),打開(kāi)定時(shí)器
while(!(SysTick->CTRL&0x00010000));//等待計(jì)數(shù)到0
SysTick->CTRL=0x00000004;//關(guān)閉定時(shí)器
}
voiddelay_ms(u32n)
{
while(n)
{
delay_us(1000);
n--;
}
}





