void delay_us(u16 n)
{
SysTick->LOAD = 48 * n; //装载计数器因为时钟为48Mhz,48次1us
SysTick->CTRL = 0x00000005;//时钟来源设为为HCLK(48Mhz),打开定时器
while(!(SysTick->CTRL&0x00010000));//等待计数到0
SysTick->CTRL=0x00000004;//关闭定时器
}
void delay_ms(u32 n)
{
while(n)
{
delay_us(1000);
n--;
}
}
STM32F30X SYSTICK做非精确的delay功能
最新推荐文章于 2023-12-30 17:14:01 发布