新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32延時(shí)函數(shù)分析

STM32延時(shí)函數(shù)分析

作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

由于fac_ms基數(shù)為9000 所以假設(shè)nms=1則 倒計(jì)時(shí)時(shí)間9000/9M=0.001s=1ms就是延時(shí)1ms
所以最大定時(shí)時(shí)間 T=2^24/9000=1864ms

延時(shí)實(shí)例:
while(1)
{
LED0=0;
delay_ms(500);
LED0=1;
delay_ms(500);
}






改變最大延時(shí)方法: 降低PLL倍頻,計(jì)算得到系統(tǒng)新頻率.
int main(void)
{
Stm32_Clock_Init(4);
delay_init(32);
led_init();
while(1)
{
LED0=0;
delay_ms(3000);
LED0=1;
delay_ms(3000);
}
}






此時(shí)最大延時(shí) 由于SYSCLK=32M 所以Systick=4M 既fac_ms=4000
Tmax=2^24/4000=4194ms


如果設(shè)置超過4194發(fā)生溢出,定時(shí)就不準(zhǔn)了
例子:
int main(void)
{
Stm32_Clock_Init(4);
delay_init(32);
led_init();
while(1)
{
LED0=0;
delay_ms(4200);
LED0=1;
delay_ms(4200);
}
}






參考文獻(xiàn):<<例說STM32>>
<>


上一頁 1 2 下一頁

關(guān)鍵詞: STM32延時(shí)函

評論


相關(guān)推薦

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

關(guān)閉