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

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;       //清空计数器  
//这是延时多久,怎么实现的延时?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
lunkcer
1楼-- · 2019-07-14 21:18
多谢,
csw_ying
2楼-- · 2019-07-14 23:33
 精彩回答 2  元偷偷看……
daitz
3楼-- · 2019-07-15 01:32
cortex-M核心 最常用的一招 us等短延时, 直接利用sys_tick实现
dlksmad
4楼-- · 2019-07-15 06:19
systick计时,现实时间取决于时钟设置
lunkcer
5楼-- · 2019-07-15 09:21
我上面那段程序是延时多久呢?

一周热门 更多>