关于systick定时器延时函数的一个C语言语句

2019-07-20 22:51发布

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;                                      
}

while((temp & 0x01) && !(temp & (1 << 16)));这个语句的详细解答是什么? 求大神们帮我解释下 小弟感激不尽

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