怎么跳出这个循环

2019-07-20 17:25发布

void delay_us(u32 nus)
{  
u32 temp;      
SysTick->LOAD=nus*fac_us; //时间加载      
SysTick->VAL=0x00;        //清空计数器
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ;          //开始倒数
do
{
  temp=SysTick->CTRL;
}
while((temp&0x01)&&!(temp&(1<<16)));//等待时间到达                                   仿真一直停在这里,是不是要给函数参数赋值
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;       //关闭计数器
SysTick->VAL =0X00;       //清空计数器  
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。