STM32F30X SYSTICK做非精確的delay功能
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),打開定時(shí)器
while(!(SysTick->CTRL&0x00010000));//等待計(jì)數(shù)到0
SysTick->CTRL=0x00000004;//關(guān)閉定時(shí)器
}
voiddelay_ms(u32n)
{
while(n)
{
delay_us(1000);
n--;
}
}