新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32 軟件精確延時(shí)非systick 非中斷

stm32 軟件精確延時(shí)非systick 非中斷

作者: 時(shí)間:2016-11-19 來源:網(wǎng)絡(luò) 收藏
在阿莫上有位大神hcambridge推薦的軟件精確延時(shí):

//精確延時(shí)函數(shù)調(diào)用wait
voidwait(unsigned long n)
{
do{
n--;
}while(n);
}


//精確延時(shí)函數(shù)
#defineSYSCLK 72 //指明CPU工作頻率為72MHz
#defineA 6 //一次循環(huán)所花的周期數(shù)
#defineB 3 //調(diào)用、初始化、返回總共所用的周期數(shù)
#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); //延時(shí)0.4us
//delay_ms(1456);//延時(shí)1.456s
//delay_s(21.4345);//延時(shí)21.4345秒

本文引用地址:http://2s4d.com/article/201611/318537.htm


關(guān)鍵詞: stm32軟件精確延

評(píng)論


技術(shù)專區(qū)

關(guān)閉