新闻中心

EEPW首页>嵌入式系统>设计应用> stm32 软件精确延时非systick 非中断

stm32 软件精确延时非systick 非中断

作者: 时间:2016-11-19 来源:网络 收藏
在阿莫上有位大神hcambridge推荐的软件精确延时:

//精确延时函数调用wait
voidwait(unsigned long n)
{
do{
n--;
}while(n);
}


//精确延时函数
#defineSYSCLK 72 //指明CPU工作频率为72MHz
#defineA 6 //一次循环所花的周期数
#defineB 3 //调用、初始化、返回总共所用的周期数
#definedelay_us(nus) wait(((nus)*(SYSCLK)-(B))/(A))
#definedelay_ms(nms) delay_us((nms)*1000)
#definedelay_s(ns) delay_ms((ns)*1000)
//使用方法:
//delay_us(0.4); //延时0.4us
//delay_ms(1456);//延时1.456s
//delay_s(21.4345);//延时21.4345秒

本文引用地址://m.amcfsurvey.com/article/201611/318537.htm


关键词:stm32软件精确延

评论


技术专区

关闭