DS1621在Linux下的IIC接口驅(qū)動(dòng)設(shè)計(jì)
圖5 IIC總線讀數(shù)據(jù)操作
其中S為發(fā)送開(kāi)始標(biāo)志START,W為寫(xiě)信號(hào)位,R為讀信號(hào)位,A為ACK應(yīng)答信號(hào),RS為重復(fù)開(kāi)始信號(hào)REPEATED START,NA為主機(jī)收回?cái)?shù)據(jù)后發(fā)送的NACK信號(hào),P為停止信號(hào)STOP。
3.5 主器件向IIC總線寫(xiě)數(shù)據(jù)
3.6 S3C2440從DS1621獲得溫度數(shù)據(jù),保存在內(nèi)核空間并傳送到用戶空間
4 驅(qū)動(dòng)的加載以及測(cè)試
應(yīng)用程序?qū)Ⅱ?qū)動(dòng)從內(nèi)核空間獲得的數(shù)據(jù)保存下來(lái),首先根據(jù)傳回的DONE比特位判斷溫度傳感器是否正在數(shù)據(jù)轉(zhuǎn)換的過(guò)程中,如果是,則拋棄該數(shù)據(jù),并打印數(shù)據(jù)不可用的信息;如果否,則接下來(lái)根據(jù)精度位判斷小數(shù)點(diǎn)后的數(shù)據(jù)值,并將結(jié)果打印出來(lái)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論