基于TinyOS2.x的溫濕度傳感器的底層驅(qū)動(dòng)與應(yīng)用
3 SHTxx的TinyOS底層驅(qū)動(dòng)設(shè)計(jì)
3.1 SHTxx溫濕度傳感器底層接口驅(qū)動(dòng)設(shè)計(jì)
由SHTxx溫濕度傳感器測(cè)量時(shí)序可知,SHTxx溫濕度傳感器測(cè)量時(shí)序包括啟動(dòng)傳輸、發(fā)送命令、2字節(jié)數(shù)據(jù)傳輸以及CRC校驗(yàn)傳輸?shù)葧r(shí)序部分。SHTxx溫濕度傳感器的TinyOS驅(qū)動(dòng)代碼包括SHT接口的定義SHT.nc、SHT配置組件SHTC.nc和模塊組件SHTP.nc三部分。
(1)SHT溫濕度傳感器接口定義
在SHT溫濕度傳感器接口中,定義了read命令函數(shù)和ReadDone事件函數(shù)。read命令函數(shù)負(fù)責(zé)啟動(dòng)SHTxx溫濕度傳感器的測(cè)量過程,ReadDo ne事件函數(shù)則是當(dāng)SHTxx溫濕度傳感器測(cè)量完成后觸發(fā)該事件。具體代碼如下:
(2)SHT溫濕度傳感器配置組件
在SHT溫濕度傳感器配置組件中,利用MainC組件的初始化命令完成對(duì)SHT溫濕度傳感器的初始化操作。HplCC2530GenerallOC組件對(duì)SHT溫濕度傳感器端口進(jìn)行配置,定時(shí)器組件定義兩次測(cè)量的時(shí)間間隔,部分代碼如下:
(3)SHT溫濕度傳感器模塊組件
SHT溫濕度傳感器模塊組件完成SHT溫濕度傳感器數(shù)據(jù)讀取的底層驅(qū)動(dòng),完成對(duì)SHT溫濕度傳感器的時(shí)序模擬以及實(shí)現(xiàn)SHT接口函數(shù)。在數(shù)據(jù)讀取完成后,觸發(fā)ReadDone事件函數(shù),下面主要介紹SHT溫濕度傳感器驅(qū)動(dòng)模塊中的幾個(gè)與時(shí)序相關(guān)的函數(shù)。
復(fù)位時(shí)序模擬函數(shù)如下:
數(shù)據(jù)讀取時(shí)序模擬函數(shù)如下:
recvByte(uint8_t ack)函數(shù)模擬讀取數(shù)據(jù)時(shí)的時(shí)序。微處理器在讀取SHTxx溫濕度傳感器的數(shù)據(jù)時(shí),有兩種不同的應(yīng)答信號(hào)。在讀取轉(zhuǎn)換數(shù)據(jù)時(shí),由微處理器將DATA線拉為低電平作為應(yīng)答信號(hào);而在讀取CRC數(shù)據(jù)時(shí),需要將DATA線拉為高電平應(yīng)答信號(hào),所以在recvByte(uint8 _t ack)函數(shù)中,ack作為兩種應(yīng)答信息參數(shù)進(jìn)行傳遞。該函數(shù)返回讀取的數(shù)據(jù)。
SHTxx溫濕度傳感器寫數(shù)據(jù)主要為寫命令字和SHTxx溫濕度傳感器的狀態(tài)寄存器,在寫命令字完成后,SHTxx溫濕度傳感器將控制DATA數(shù)據(jù)線,并將數(shù)據(jù)線上拉為高電平作為應(yīng)答信號(hào)。寫數(shù)據(jù)時(shí)序模擬函數(shù)略——編者注。
3.2 SHTxx溫濕度傳感器TinyOS驅(qū)動(dòng)程序設(shè)計(jì)
SHTxx溫濕度傳感器驅(qū)動(dòng)測(cè)試程序通過SHTxx溫濕度底層驅(qū)動(dòng)將采集SHTxx的溫濕度值,顯示在開發(fā)平臺(tái)中的LCD屏上,程序文件包括模塊組件TestSHTM.nc、配置組件TestSHTC.nc以及編譯文件makefile。
TestSHTC.nc的配置文件部分代碼略——編者注。SHTxx溫濕度傳感器驅(qū)動(dòng)測(cè)試程序的組件關(guān)聯(lián)圖略——編者注。
4 系統(tǒng)測(cè)試及結(jié)論
通過Cygwin平臺(tái)對(duì)應(yīng)用程序進(jìn)行編譯和鏈接,生成hex文件,下載程序到目標(biāo)硬件平臺(tái)運(yùn)行。LCD顯示溫濕度采集結(jié)果,通過測(cè)試發(fā)現(xiàn),該系統(tǒng)能完成預(yù)期的數(shù)據(jù)采集功能。根據(jù)SHTxx溫濕度傳感器驅(qū)動(dòng)的設(shè)計(jì)方法完成其他傳感器的驅(qū)動(dòng)設(shè)計(jì)。當(dāng)然也可以利用該驅(qū)動(dòng)程序,通過網(wǎng)絡(luò)實(shí)時(shí)監(jiān)控周圍環(huán)境的溫濕度參數(shù)。本文引用地址:http://www.ex-cimer.com/article/159296.htm linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂) 風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 土壤濕度傳感器相關(guān)文章:土壤濕度傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評(píng)論