STM32F30X SYSTICK做非精确的delay功能
扫描二维码
随时随地手机看文章
voiddelay_us(u16n)
{
SysTick->LOAD=48*n;//装载计数器因为时钟为48Mhz,48次1us
SysTick->CTRL=0x00000005;//时钟来源设为为HCLK(48Mhz),打开定时器
while(!(SysTick->CTRL&0x00010000));//等待计数到0
SysTick->CTRL=0x00000004;//关闭定时器
}
voiddelay_ms(u32n)
{
while(n)
{
delay_us(1000);
n--;
}
}