#define CNT_SYSTICK 8 //默认SYSTICK时钟为8MHz
/**********************************************************************
*函数名:delay_us
*功 能:延迟1us
*参 数:us,最大2^24/CNT_SYSTICK
*返 回:无
*备 注:无
**********************************************************************/
void delay_us(uint16_t us)
{
SysTick->LOAD = us * CNT_SYSTICK; //装载计数值
SysTick->VAL = 0; //清空当前值
SysTick->CTRL |= 1; //使能计数器
while(!(SysTick->CTRL & (1 << 16))); //等待计数结束
SysTick->CTRL &=~ 1; //关闭计数
}
延时代码请参考,也可以参考本站链接:
https://bbs.21ic.com/icview-3286124-1-1.html
|