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; //清空计数器 //这是延时多久,怎么实现的延时? |
延时时间与SysTick->LOAD的值还有systick选择的时钟源相关,具体你可以看一下原子或者野火的资料。