tica, SimSun, sans-serif">void delay_us(u32 i)
{
u32 temp;
SysTick->LOAD = 9*i; //设置重装数值,72MHz时
SysTick->CTRL = 0x01; //使能,减到0不发生中断
SysTick->VAL = 0; //清零当前值计数器
do
{
temp=SysTick->CTRL; //读取当前倒计时数值
}while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到
SysTick->CTRL = 0;
SysTick->VAL = 0;
}
这里微妙级的延时函数,i 是输入参数,我想问问,当i= 0的时候,这个延时程序该如何运行?
STM32F103ZE的版子。
请各位高手各抒己见,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一般使用Systick定时器装载的值不是0,装载为0,在我看来就成了代码冗余,那于脱裤子放屁一样。
了解了 感谢楼主分享
一周热门 更多>