请问下面这段延时程序怎么理解?

2019-07-14 15:38发布

volatile u32 temp = 0;      
  SysTick->LOAD=10000*fac_us; //时间加载      
  SysTick->VAL=0x00;        //清空计数器
  SysTick->CTRL=0x01 ;      //开始倒数   
  do
  {
    temp=SysTick->CTRL;
  }
  while(temp&0x01&&!(temp&(1<<16)));//等待时间到达   
  SysTick->CTRL=0x00;       //关闭计数器
  SysTick->VAL =0X00;       //清空计数器  
//这是延时多久,怎么实现的延时?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。