日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32 ---deley延时两行代码实现【为方便移植文件】

發(fā)布時間:2024/3/26 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 ---deley延时两行代码实现【为方便移植文件】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、前提簡述

優(yōu)點(diǎn):無需定時器!僅兩行代碼!

缺點(diǎn):不夠精準(zhǔn);

應(yīng)用理由:很多文件移植后,發(fā)現(xiàn)delay都需要外部文件支持;那,不如在文件內(nèi)定義一個,方便各文件移植;

應(yīng)用要求:STM32F103系列,默認(rèn)72MHz系統(tǒng)時鐘,任何一個工程,復(fù)制粘貼后都能用!


二、毫秒延時 delay_ms ()

  • 實(shí)測誤差: 1%以內(nèi),沒有中斷打斷的情況;
  • 適合I2C等低速通信延時,及模塊上電延時等待;不適合速度要求精準(zhǔn)的延時;
static void delayMs(u32 ms) {ms=ms*7979; for(u32 i=0;i<ms;i++); // 72MHz系統(tǒng)時鐘下,每7979個空循環(huán)約耗時1ms }

三、微秒延時 delay_us ( )

  • 實(shí)測誤差:10us時誤差20%;50us時誤差10%;1000us時誤差20%;
  • 適合I2C等低速通信延時,及模塊上電延時等待;不適合速度要求精準(zhǔn)的延時;
static void delayUs(u32 us) { us = us * 9;for(u32 i=0; i<us; i++); // 72MHz系統(tǒng)時鐘下,每9個空循環(huán)約耗時1us }

四、精準(zhǔn)延時

如果要求精準(zhǔn)的延時,最理想的實(shí)現(xiàn)方法是:SysTick中斷。比用Tim更適合移植。

精準(zhǔn)延時的詳細(xì)代碼,及應(yīng)用于其上的任務(wù)輪詢器,已上傳分享到STM32技術(shù)Q群文件夾中:887199504,自由下載。

本文完~~~

總結(jié)

以上是生活随笔為你收集整理的STM32 ---deley延时两行代码实现【为方便移植文件】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。