国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

STM32——超聲波傳感器

這篇具有很好參考價值的文章主要介紹了STM32——超聲波傳感器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

STM32——超聲波傳感器,stm32,嵌入式硬件,單片機

STM32——超聲波傳感器,stm32,嵌入式硬件,單片機

需求:

使用超聲波測距,當(dāng)手離傳感器距離小于 5cm 時, LED1 點亮,否則保持不亮狀態(tài)

?

接線:

?STM32——超聲波傳感器,stm32,嵌入式硬件,單片機

?

定時器配置:

使用 TIM2 ,只用作計數(shù)功能,不用作定時。
PSC 配置為 71 ,則計數(shù) 1 次代表 1us

?

STM32——超聲波傳感器,stm32,嵌入式硬件,單片機

編寫微秒級函數(shù):

STM32——超聲波傳感器,stm32,嵌入式硬件,單片機

1、總結(jié) 微秒級定時:

這個延遲函數(shù)的實現(xiàn)利用了定時器 TIM2 的計數(shù)器來測量時間,從而實現(xiàn)微秒級的延遲。在一些嵌入式系統(tǒng)中,這種方式是常見的延遲實現(xiàn)方法。請注意,這種忙等待的方式可能在一些場景中不夠精確,因為它依賴于系統(tǒng)的時鐘頻率。在一些要求更高精度的場合,可能需要采用其他延遲方式,比如使用硬件定時器或者其他精確的定時方法。?

2、(1 * n_us)-1)是什么意思?為什么要減一呢?

表達(dá)式 (1 * n_us) - 1 其實等價于 n_us - 1。在這里,1 * n_us 實際上就是 n_us,因為任何數(shù)乘以1都等于它本身。所以,這個表達(dá)式就是為了減小 n_us 的值。

在實際應(yīng)用中,通常采用這種方式是為了確保延遲的準(zhǔn)確性。假設(shè)你要延遲 10 微秒,但由于延遲函數(shù)本身也需要一定的時間,為了確??傃舆t時間是準(zhǔn)確的,你可能會將計數(shù)器的目標(biāo)值設(shè)置為 n_us - 1。

例如,如果 n_us 為10,那么 (1 * n_us) - 1 就是 9。這意味著在計數(shù)器達(dá)到9之前,循環(huán)會一直等待。這是一種補償,以考慮延遲函數(shù)自身的執(zhí)行時間,確??傮w延遲接近預(yù)期值。

主函數(shù):

STM32——超聲波傳感器,stm32,嵌入式硬件,單片機
1、__HAL_TIM_ENABLE(&htim2);和HAL_TIM_Base_Start(&htim2);有啥區(qū)別?

__HAL_TIM_ENABLE(&htim2)HAL_TIM_Base_Start(&htim2) 都是用于啟動定時器 TIM2 的函數(shù),但是它們在調(diào)用的時候可能存在一些微妙的區(qū)別。

  1. __HAL_TIM_ENABLE(&htim2):

    • 這是一個宏,通常在 HAL 庫中用于啟用定時器。
    • 它可能直接設(shè)置定時器的控制寄存器中的相應(yīng)位,使定時器開始計數(shù)。
    • 在 HAL 庫中,這個宏可能執(zhí)行一些底層的配置操作,以確保定時器正常工作。
  2. HAL_TIM_Base_Start(&htim2):

    • 這是 HAL 庫中的一個函數(shù),用于啟動定時器。
    • 這個函數(shù)可能執(zhí)行一系列初始化步驟,包括設(shè)置定時器的模式、分頻因子等。
    • __HAL_TIM_ENABLE 不同,HAL_TIM_Base_Start 是一個函數(shù)調(diào)用,而不是宏,因此它可能包含一些更復(fù)雜的邏輯。

在很多情況下,這兩者可以互換使用,因為在 HAL 庫中,__HAL_TIM_ENABLE 實際上調(diào)用了 HAL_TIM_Base_Start。然而,如果你要使用底層的 HAL 庫以外的特定功能,可能需要查看它們的具體實現(xiàn)以了解更多細(xì)節(jié)。

總的來說,如果你在使用 STM32 的 HAL 庫,并且只是簡單地啟動定時器,這兩者可能沒有太大的區(qū)別。在更復(fù)雜的應(yīng)用中,可能需要查看具體的 HAL 庫文檔或源代碼以了解更多信息。

2、?__HAL_TIM_SetCounter(&htim2, 0);

__HAL_TIM_SetCounter(&htim2, 0); 是一個用于設(shè)置定時器計數(shù)器初值的宏。在這里,htim2 表示 TIM2 定時器的配置。

這行代碼的作用是將 TIM2 的計數(shù)器的值設(shè)置為0。通常在測距應(yīng)用中,當(dāng)開始測量 Echo 信號的時間時,需要先將計數(shù)器清零,然后開始計時。這樣可以確保你測量的是一個相對的時間,而不是累積的時間。

3、__HAL_TIM_GetCounter(&htim2)

__HAL_TIM_GetCounter(&htim2) 是一個用于獲取定時器計數(shù)器當(dāng)前值的宏。在這個上下文中,htim2 是一個結(jié)構(gòu)體或指針,表示 TIM2 定時器的配置。這個宏會讀取 TIM2 的計數(shù)器寄存器的當(dāng)前值,并返回該值。文章來源地址http://www.zghlxwxcb.cn/news/detail-753738.html

到了這里,關(guān)于STM32——超聲波傳感器的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Arduino開發(fā)實例-DIY超聲波傳感器避障機器人

    在本應(yīng)用中,我們將使用一個超聲波傳感器與兩個直流電機和一個伺服電機相結(jié)合,Arduino作為主控板創(chuàng)建一個簡單的避障機器人。 超聲波傳感器發(fā)送和接收信號以確定物體的距離。 如果距離小于 15 厘米有物體,機器人將停止。 然后它環(huán)顧四周,轉(zhuǎn)向一個它什么都感覺不到

    2023年04月08日
    瀏覽(26)
  • STM32超聲波避障小車(舵機云臺+超聲波/stm32f103/HAL/Cube)

    STM32超聲波避障小車(舵機云臺+超聲波/stm32f103/HAL/Cube)

    一、小車1.0——基本藍(lán)牙小車(僅藍(lán)牙遙控小車運動方向,本篇) 二、小車2.0——藍(lán)牙小車PLUS(可以藍(lán)牙控制方向+藍(lán)牙直接調(diào)節(jié)車速) 三、小車3.0——避障小車(超聲波+舵機云臺) 四、小車4.0——無線手柄方向感知操控小車(mpu6050+雙藍(lán)牙透傳) 五、雙輪自平衡小車(HAL庫版

    2024年02月05日
    瀏覽(22)
  • 基于STM32的超聲波測距

    基于STM32的超聲波測距

    一、HC-SR04模塊介紹 HC-SR04超聲波測距模塊可提供2cm-400cm的非接觸式距離感測功能,測距精度可高達(dá)3mm;模塊包括超聲波發(fā)射器、接收器、與控制電路。 模塊的基本工作原理為: (1)采用 IO口 TRIG觸發(fā)測距,給最少 10us的高電平信呈。 (2)模塊自動發(fā)送 8個 40khz的方波,自動檢測是

    2024年02月13日
    瀏覽(28)
  • 基于STM32的超聲波雷達(dá)

    基于STM32的超聲波雷達(dá)

    視頻地址:1.基于STM32的超聲波雷達(dá)-演示_嗶哩嗶哩_bilibili 備注:文檔最后有所有文件的網(wǎng)盤地址 全部必要硬件(左到右) : ST-LINK調(diào)試器:調(diào)試下載程序 stm32f103c8t6核心板 1.8寸TFT顯示器 sg90舵機 超聲波傳感器 其他擴展硬件 超聲波傳感器轉(zhuǎn)接板:方便超聲波傳感器接到舵機上

    2024年02月12日
    瀏覽(23)
  • 基于STM32超聲波測距系統(tǒng)設(shè)計

    基于STM32超聲波測距系統(tǒng)設(shè)計

    隨著社會的發(fā)展和科技的進(jìn)步,人們對測距的要求越來越高,特別是在一些要求實時測距的場合,傳統(tǒng)的測距方式已經(jīng)無法滿足人們的需求,而超聲波測距由于其非接觸和實時反饋的特點在生活中得到廣泛應(yīng)用。 本系統(tǒng)硬件部分由電源模塊、控制模塊、顯示模塊、報警模塊、

    2024年02月04日
    瀏覽(26)
  • stm32之14.超聲波測距代碼

    stm32之14.超聲波測距代碼

    ? ? ? ?-------------------- 源碼 ?

    2024年02月11日
    瀏覽(19)
  • 基于STM32F103C8T6(HAL庫)的HC-SR501紅外人體傳感及HC-SR04超聲波測距

    基于STM32F103C8T6(HAL庫)的HC-SR501紅外人體傳感及HC-SR04超聲波測距

    一、基于STM32F103C8T6最小系統(tǒng)板和STM32CubeMX實現(xiàn)LED燈循環(huán)閃爍 二、基于STM32F103C8T6和STM32CubeMX實現(xiàn)UART串口通信數(shù)據(jù)收發(fā) 三、實戰(zhàn)小例程 基于STM32F103C8T6最小系統(tǒng)板和STM32CubeMX驅(qū)動WS2812B光立方 四、基于STM32F103C8T6最小系統(tǒng)板HAL庫CubeMX驅(qū)動HC-SR501紅外人體傳感模塊 五、基于STM32F103C8

    2023年04月17日
    瀏覽(84)
  • 最詳細(xì)STM32,cubeMX 超聲波測距

    最詳細(xì)STM32,cubeMX 超聲波測距

    這篇文章將詳細(xì)介紹 STM32使用 cubeMX驅(qū)動超聲波測距 。 實驗材料:STM32F103C8T6開發(fā)板, HC-SR04 超聲波模塊。 所需軟件:keil5 , cubeMX ,AiThinker Serial Tool 串口助手。 實驗?zāi)康模毫私?STM32使用 cubeMX驅(qū)動超聲波 。 實驗:超聲波測距。 HC-SR04 超聲波測距模塊可提供 2cm-400cm 的非接觸

    2024年02月08日
    瀏覽(25)
  • 13.STM32超聲波模塊講解與實戰(zhàn)

    13.STM32超聲波模塊講解與實戰(zhàn)

    目錄 1.超聲波模塊講解 2.超聲波時序圖 3.超聲波測距步驟 4.項目實戰(zhàn) ? 超聲波傳感器模塊上面通常有兩個超聲波元器件,一個用于發(fā)射,一個用于接收。電路板上有4個引腳:VCC GND Trig(觸發(fā)),Echo(回應(yīng))主要參數(shù): 工作電壓與電流:5V,15ma 感應(yīng)距離:2-400cm 感測角度:不

    2023年04月12日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包