關(guān) 閉

        新聞中心

        EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于Linux的溫度傳感器DS18B20驅(qū)動(dòng)程序設(shè)計(jì)

        基于Linux的溫度傳感器DS18B20驅(qū)動(dòng)程序設(shè)計(jì)

        作者: 時(shí)間:2010-03-02 來源:網(wǎng)絡(luò) 收藏

          2.3的工作原理

        本文引用地址:http://www.104case.com/article/163230.htm

          根據(jù)的通信協(xié)議,MCU對(duì)其操作主要有如下3個(gè)步驟:讀寫之前,對(duì)發(fā)送約500 μs的低電平進(jìn)行復(fù)位;復(fù)位成功,發(fā)送ROM指令;發(fā)送RAM指令。MCU對(duì)DS18B20的具體操作流程如圖4所示。

          3的DS18B20程序?qū)崿F(xiàn)

          選取mini2440開發(fā)板為硬件平臺(tái)(主芯片為Samsung公司的S3C2440),選取的最新內(nèi)核2.6.29為軟件平臺(tái)。通過mini2440的擴(kuò)展接口引出GPIO口(GPBl)為數(shù)據(jù)線DQ。

          DS18B20為單總線器件,因此對(duì)其操作的時(shí)序比較嚴(yán)格。DS18B20最終能否得以正常運(yùn)行,獲得實(shí)時(shí)值,關(guān)鍵在于能否正確地編寫復(fù)位程序、位寫程序和位讀程序。

          3.1復(fù)位程序

          對(duì)DS18B20進(jìn)行讀寫之前要對(duì)其復(fù)位初始化,以檢測DS18B20的存在。復(fù)位要求MCU將數(shù)據(jù)線下拉480~960 μs,再釋放數(shù)據(jù)線,等待約60 μs。若MCU接收到DS18B20發(fā)出的存在低電平,則表示復(fù)位成功。

          下面是復(fù)位程序代碼:

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 上栗县| 南陵县| 丁青县| 瑞昌市| 邳州市| 南投县| 宜宾市| 巴彦县| 扶沟县| 凤冈县| 聂拉木县| 郴州市| 喜德县| 马边| 若羌县| 收藏| 惠水县| 福泉市| 惠东县| 玉林市| 长沙市| 仙游县| 怀宁县| 西平县| 黄浦区| 巩留县| 焦作市| 甘泉县| 无棣县| 三江| 宣威市| 武安市| 三门峡市| 台南县| 南通市| 柘城县| 垫江县| 淳化县| 天津市| 广宗县| 昌黎县|