国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DS18B20驅動程序調試總結

TopSemic嵌入式 ? 來源:TopSemic嵌入式 ? 作者:TopSemic嵌入式 ? 2022-04-03 09:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

DS18B20是一款精度比較好的溫度傳感器,最重要的是它通過一根導線,既完成通訊,又給芯片供電,在MCU引腳數量比較緊張的時候,確實是個不錯的選擇。這顆芯片看起來簡單,但真正讓它跑起來,從里面讀出溫度數據可沒有想象的那么容易。這不,群里的Ryan Wang同學就被折磨得不行。難能可貴的是,在王同學終于搞定它之后,無私地分享出心得和代碼。如果你覺得這篇文章能幫到更多的同學,就幫忙轉發,或點個在看吧。

通過CUBE使能TIM2定時器,Clock Source使用internal Clock,MCU主頻為32Mhz,故Prescaler=32-1=31,Counter Mode為UP,這里注意Counter Period 官方手冊要求最低為1,經測試設置為2時,定時器更為準確。

完成以上配置后,需要在程序手動調整和增加功能代碼:

1. Cube配置TIM2定時器的基礎上,在程序編寫delay_us(uint16_t us)函數,delay_us的精確度將直接影響DS18B20溫度數據的讀取結果。本程序使用了HAL庫(CUBE勾選配置)

voiddelay_us(uint16_tus)
{
/*中斷會打斷微秒延時函數,
*但計數器計數不會停
*防止計數器增加到65535之后重新開始計數
*/
uint16_tdiffer=50000-us;

HAL_TIM_Base_Start(&htim2);
__HAL_TIM_SET_COUNTER(&htim2,differ);

while(differ<50000)
????{
????????differ=__HAL_TIM_GET_COUNTER(&htim2);
????}

????HAL_TIM_Base_Stop(&htim2);
}

2. 注意程序工程中DS18B20.H的定義,及DS18B20.C文件,(同文件夾下附件)其內部函數定義根據DS18B20官方手冊進行操作,DS18B20為one wire 通訊,對時序的要求相對嚴格,DS18B20的數據通訊通過DS18B20的data管腳進行單片機通訊,主要流程為:

1.DS18B20初始化

2.DS18B20接入自檢

3.DS18B20寫0xcc(SKIP ROM)

4.寫0x44(通知傳感器進行溫度數據采集與轉換)

5.DS18B2再次初始化

6.DS18B20再次接入自檢

7.DS18B20寫0xcc(SKIP ROM)(倒序即0011 0011,如下圖左)

8.DS18B20寫0xbe(通知傳感器進行數傳)(倒序0111 1101,下圖右)

9.DS18B20讀一個字節

10.DS18B20再讀一個字節

11.數據的預處理

ee6209e8-b18b-11ec-aa7f-dac502259ad0.png

3. 以上每步操作都需要微秒級延時等待,參考DS18B20官方手冊關于“DS18B20初始化與check”,“寫0”,“寫1”,“讀0”,“讀1”的具體時序要求,注意針對不同MCU的主頻配置,在保證1微秒延時準確的前提下,具體的微秒延時將有所調整;特別注意在讀時序時的延時,針對32MHZ的本機,在DS18B20.C中已做延時調整(參考正點原子DS18B20試驗(72MHZ),使用示波器抓取各個階段波形,結合DS18B20手冊,對比調試,)若時序不對,則讀數一直為0或者85。著重理解DS18B20_data管腳的輸入和輸出模式,拉高和拉低(如DS18B20標準電路要求在data管腳接上拉電阻,那么在管腳IN和OUT模式下,如未人為拉高或拉低,則管腳電平會自動拉高)。

ee826b48-b18b-11ec-aa7f-dac502259ad0.png

eea28ffe-b18b-11ec-aa7f-dac502259ad0.png

eeb6b9a2-b18b-11ec-aa7f-dac502259ad0.png

4. 傳感器選用DS18B20,因外部封裝種類繁多,在此不放鏈接。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    463

    文章

    54010

    瀏覽量

    466112
  • 溫度傳感器
    +關注

    關注

    48

    文章

    3211

    瀏覽量

    163101
  • 定時器
    +關注

    關注

    23

    文章

    3368

    瀏覽量

    123635

原文標題:DS18B20驅動程序調試總結

文章出處:【微信號:TopSemic,微信公眾號:TopSemic嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32F003怎樣延時1微秒?

    CW32F003怎樣延時1微秒,DS18B20,DHT11需要使用
    發表于 12-30 07:19

    請問CW32F003內部上拉電阻是多少?

    最近在調試DS18B20,用寄生電源,所以需要上拉電阻,如果不接外部上拉電阻,芯片內部的上拉電阻可以不?
    發表于 11-21 06:15

    要做一個DS18B20的讀取程序,單總線需要配置為輸入或者輸出,怎么配置好?

    目前要做一個DS18B20的讀取程序,單總線需要配置為輸入或者輸出。怎么配置好
    發表于 11-18 06:30

    使用18b20軟件包報錯怎么解決?

    In file included from ../packages/ds18b20-latest/src/dallas_ds18b20_sensor_v1.c:12:0: C
    發表于 10-14 06:49

    N76E0003調試驅動程序在keil中失敗了的原因?

    N76E0003調試驅動程序在 keil 中失敗
    發表于 08-25 07:20

    摩爾線程發布圖形顯卡驅動程序v310.120

    8月20日,摩爾線程發布版本號為v310.120的圖形顯卡驅動程序。本次更新帶來多項重大技術升級:新增對Windows 11 24H2版本的正式支持,WDDM驅動同步升級至3.2版本。同時,新
    的頭像 發表于 08-21 16:07 ?1387次閱讀

    為FreeRTOS增加新的設備驅動程序

    如果你正在使用FreeRTOS構建嵌入式系統,并且考慮添加新的設備驅動程序,那么這篇文章很適合你。高效的設備集成不僅僅是讓設備功能正常運行——更關乎模塊化、可靠性和安全性。
    的頭像 發表于 08-06 15:44 ?989次閱讀
    為FreeRTOS增加新的設備<b class='flag-5'>驅動程序</b>

    zephyr設備驅動程序模型

    ? ? 1:Zephyr 內核支持多種設備驅動程序驅動程序是否可用取決于board 和驅動程序。 Zephyr 設備模型為配置作為系統一部分的驅動程序提供了一致的設備模型。設備型號負
    的頭像 發表于 07-29 10:34 ?697次閱讀
    zephyr設備<b class='flag-5'>驅動程序</b>模型

    低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20B12/13/17、B28A、B28BB29) skyworksinc

    電子發燒友網為你提供()低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20
    發表于 06-27 18:32
    低頻段 LNA 前端模塊(<b class='flag-5'>B</b>26/<b class='flag-5'>B</b>5/<b class='flag-5'>B18</b>/<b class='flag-5'>B</b>19、<b class='flag-5'>B</b>8、<b class='flag-5'>B20</b>、<b class='flag-5'>B</b>12/13/17、<b class='flag-5'>B</b>28A、<b class='flag-5'>B28B</b> 和 <b class='flag-5'>B</b>29) skyworksinc

    單片機實例項目:DS18B20溫度傳感器

    單片機實例項目:DS18B20溫度傳感器,推薦下載!
    發表于 06-03 20:59

    摩爾線程發布圖形顯卡驅動程序v290.100.2

    近日,摩爾線程發布版本號為v290.100.2的圖形顯卡驅動程序。此次更新在DirectX 12模式下對《巫師3:狂獵》進行了顯著優化,使其游戲平均幀率提升超過80%。同時,新驅動還進一步優化
    的頭像 發表于 04-23 11:20 ?916次閱讀

    Linux環境再升級:PLIN驅動程序正式發布

    PLIN驅動程序現已正式發布,本文將展示如何安裝PLIN驅動程序,以及如何在Linux環境下進行基本的PLIN通信操作,確保您能夠快速掌握并應用這一新工具。
    的頭像 發表于 04-21 15:29 ?1059次閱讀
    Linux環境再升級:PLIN<b class='flag-5'>驅動程序</b>正式發布

    血淚教訓總結:Air780EPM的LuatOS二次開發——OneWire協議調試注意事項

    的OneWire通信,大幅提升項目開發效率。 一、LuatOS 及 OneWire 說明 ? LuatOS 支持 OneWire 通信協議,本文以 DS18B20 溫度傳感器和 Air780EPM 搭配
    的頭像 發表于 03-20 17:52 ?1155次閱讀
    血淚教訓<b class='flag-5'>總結</b>:Air780EPM的LuatOS二次開發——OneWire協議<b class='flag-5'>調試</b>注意事項

    最佳實踐指南:Air780EPM的LuatOS二次開發——OneWire協議調試的注意事項

    在物聯網設備開發中,精準且穩定的數據傳輸是構建智能系統的核心。 一、LuatOS 及 OneWire 說明 ? LuatOS 支持 OneWire 通信協議,本文以 DS18B20 溫度傳感器
    的頭像 發表于 03-17 16:57 ?760次閱讀
    最佳實踐指南:Air780EPM的LuatOS二次開發——OneWire協議<b class='flag-5'>調試</b>的注意事項

    基于FPGA的DS18B20數字溫度傳感器測溫實例

    本文將使用三段式狀態機(Moore型)的寫法來對DS18B20進行測溫操作,以便了解DS18B20和熟悉三段式狀態機的寫法。
    的頭像 發表于 03-17 11:06 ?2459次閱讀
    基于FPGA的<b class='flag-5'>DS18B20</b>數字溫度傳感器測溫實例