日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DS18B20驅(qū)動(dòng)程序調(diào)試總結(jié)

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

掃碼添加小助手

加入工程師交流群

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

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

完成以上配置后,需要在程序手動(dòng)調(diào)整和增加功能代碼:

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

voiddelay_us(uint16_tus)
{
/*中斷會(huì)打斷微秒延時(shí)函數(shù),
*但計(jì)數(shù)器計(jì)數(shù)不會(huì)停
*防止計(jì)數(shù)器增加到65535之后重新開始計(jì)數(shù)
*/
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文件,(同文件夾下附件)其內(nèi)部函數(shù)定義根據(jù)DS18B20官方手冊(cè)進(jìn)行操作,DS18B20為one wire 通訊,對(duì)時(shí)序的要求相對(duì)嚴(yán)格,DS18B20的數(shù)據(jù)通訊通過DS18B20的data管腳進(jìn)行單片機(jī)通訊,主要流程為:

1.DS18B20初始化

2.DS18B20接入自檢

3.DS18B20寫0xcc(SKIP ROM)

4.寫0x44(通知傳感器進(jìn)行溫度數(shù)據(jù)采集與轉(zhuǎn)換)

5.DS18B2再次初始化

6.DS18B20再次接入自檢

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

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

9.DS18B20讀一個(gè)字節(jié)

10.DS18B20再讀一個(gè)字節(jié)

11.數(shù)據(jù)的預(yù)處理

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

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

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

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

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

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

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54475

    瀏覽量

    469789
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    3254

    瀏覽量

    163417
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3375

    瀏覽量

    124705

原文標(biāo)題:DS18B20驅(qū)動(dòng)程序調(diào)試總結(jié)

文章出處:【微信號(hào):TopSemic,微信公眾號(hào):TopSemic嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    解析DS90C031B LVDS Quad CMOS差分線驅(qū)動(dòng)

    解析DS90C031B LVDS Quad CMOS差分線驅(qū)動(dòng)器 在高速數(shù)據(jù)傳輸?shù)碾娮釉O(shè)計(jì)領(lǐng)域,低功耗、高數(shù)據(jù)速率的需求日益增長(zhǎng)。DS90C031B作為一款LVDS(Low Voltage
    的頭像 發(fā)表于 01-04 10:05 ?407次閱讀

    CW32F003怎樣延時(shí)1微秒?

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

    CW32L031嘀嗒定時(shí)器怎樣定時(shí)1us?

    CW32L031嘀嗒定時(shí)器 怎樣定時(shí)1us,以便DS18B20,DHT11使用。提供一下代碼
    發(fā)表于 12-10 07:40

    請(qǐng)問CW32F003內(nèi)部上拉電阻是多少?

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

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

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

    使用18b20軟件包報(bào)錯(cuò)怎么解決?

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

    PIC18F16Q20 Curiosity Nano開發(fā)板技術(shù)解析與應(yīng)用指南

    。Curiosity Nano系列評(píng)估板包含一個(gè)板載調(diào)試器。無需外部工具即可對(duì)Microchip PIC18F16Q20 MCU進(jìn)行編程和調(diào)試。
    的頭像 發(fā)表于 10-10 10:31 ?1060次閱讀
    PIC<b class='flag-5'>18F16Q20</b> Curiosity Nano開發(fā)板技術(shù)解析與應(yīng)用指南

    N76E0003調(diào)試驅(qū)動(dòng)程序在keil中失敗了的原因?

    N76E0003調(diào)試驅(qū)動(dòng)程序在 keil 中失敗
    發(fā)表于 08-25 07:20

    摩爾線程發(fā)布圖形顯卡驅(qū)動(dòng)程序v310.120

    8月20日,摩爾線程發(fā)布版本號(hào)為v310.120的圖形顯卡驅(qū)動(dòng)程序。本次更新帶來多項(xiàng)重大技術(shù)升級(jí):新增對(duì)Windows 11 24H2版本的正式支持,WDDM驅(qū)動(dòng)同步升級(jí)至3.2版本。同時(shí),新
    的頭像 發(fā)表于 08-21 16:07 ?1691次閱讀

    為FreeRTOS增加新的設(shè)備驅(qū)動(dòng)程序

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

    zephyr設(shè)備驅(qū)動(dòng)程序模型

    ? ? 1:Zephyr 內(nèi)核支持多種設(shè)備驅(qū)動(dòng)程序。驅(qū)動(dòng)程序是否可用取決于board 和驅(qū)動(dòng)程序。 Zephyr 設(shè)備模型為配置作為系統(tǒng)一部分的驅(qū)動(dòng)程序提供了一致的設(shè)備模型。設(shè)備型號(hào)負(fù)
    的頭像 發(fā)表于 07-29 10:34 ?868次閱讀
    zephyr設(shè)備<b class='flag-5'>驅(qū)動(dòng)程序</b>模型

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

    電子發(fā)燒友網(wǎng)為你提供()低頻段 LNA 前端模塊(B26/B5/B18/B19、B8、B20、
    發(fā)表于 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

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器,推薦下載!
    發(fā)表于 06-03 20:59

    求助,關(guān)于CY7C68013A驅(qū)動(dòng)程序問題求解

    我們的應(yīng)用程序/設(shè)備已經(jīng)運(yùn)行了好幾年,使用驅(qū)動(dòng)程序版本3.4.7,運(yùn)行時(shí)沒有任何重大問題。 我們最近嘗試升級(jí)到最新的驅(qū)動(dòng)程序版本,但遇到了連接問題: uC 和 PC 之間的 USB 通信(主要是批量
    發(fā)表于 05-29 07:32

    如何處理FX3 USB驅(qū)動(dòng)程序與MFI相關(guān)接口的安裝?

    USB 電纜將設(shè)備(沒有 PMODE 的 SPI 引腳)連接到 PC(USB 2.0)并為 WestBridge 設(shè)備安裝驅(qū)動(dòng)程序時(shí),在斷開設(shè)備與 PC 的連接并重新連接后,驅(qū)動(dòng)程序會(huì)在幾秒鐘后從
    發(fā)表于 05-23 07:54
    博乐市| 甘泉县| 临猗县| 望城县| 二连浩特市| 绥中县| 柞水县| 万全县| 三明市| 黄梅县| 浮山县| 都兰县| 基隆市| 西昌市| 凤凰县| 西丰县| 且末县| 万源市| 蓬溪县| 麦盖提县| 蒲城县| 化州市| 颍上县| 光泽县| 阜宁县| 梅河口市| 龙江县| 崇明县| 襄垣县| 沙坪坝区| 满城县| 北宁市| 河南省| 临桂县| 镇宁| 宜章县| 随州市| 巴东县| 竹山县| 屯留县| 咸丰县|