-
大小: 33KB文件類型: .zip金幣: 2下載: 2 次發布日期: 2021-06-02
- 語言: 其他
- 標簽: arduino??OneWire庫??DallasTemper??
資源簡介
arduino的DallasTemperature庫和OneWire庫,正確無誤的!

代碼片段和文件信息
//?This?library?is?free?software;?you?can?redistribute?it?and/or
//?modify?it?under?the?terms?of?the?GNU?Lesser?General?Public
//?License?as?published?by?the?Free?Software?Foundation;?either
//?version?2.1?of?the?License?or?(at?your?option)?any?later?version.
#include?“DallasTemperature.h“
extern?“C“?{
???#include?“arduino.h“
?//?#include?“WConstants.h“
}
DallasTemperature::DallasTemperature(OneWire*?_oneWire)?
??#if?REQUIRESALARMS
??:?_AlarmHandler(&defaultAlarmHandler)
??#endif
{
??_wire?=?_oneWire;
??devices?=?0;
??parasite?=?false;
??conversionDelay?=?TEMP_9_BIT;
}
//?initialize?the?bus
void?DallasTemperature::begin(void)
{
??DeviceAddress?deviceAddress;
??_wire->reset_search();
??while?(_wire->search(deviceAddress))
??{
????if?(validAddress(deviceAddress))
????{??????
??????if?(!parasite?&&?readPowerSupply(deviceAddress))?parasite?=?true;
??????ScratchPad?scratchPad;
??????readScratchPad(deviceAddress?scratchPad);
??????if?(deviceAddress[0]?==?DS18S20MODEL)?conversionDelay?=?TEMP_12_BIT;?//?750?ms
??????else?if?(scratchPad[CONFIGURATION]?>?conversionDelay)?conversionDelay?=?scratchPad[CONFIGURATION];
??????devices++;
????}
??}
}
//?returns?the?number?of?devices?found?on?the?bus
uint8_t?DallasTemperature::getDeviceCount(void)
{
??return?devices;
}
//?returns?true?if?address?is?valid
bool?DallasTemperature::validAddress(uint8_t*?deviceAddress)
{
??return?(_wire->crc8(deviceAddress?7)?==?deviceAddress[7]);
}
//?finds?an?address?at?a?given?index?on?the?bus
//?returns?true?if?the?device?was?found
bool?DallasTemperature::getAddress(uint8_t*?deviceAddress?uint8_t?index)
{
??uint8_t?depth?=?0;
??_wire->reset_search();
??while?(depth?<=?index?&&?_wire->search(deviceAddress))
??{
????if?(depth?==?index?&&?validAddress(deviceAddress))?return?true;
????depth++;
??}
??return?false;
}
//?attempt?to?determine?if?the?device?at?the?given?address?is?connected?to?the?bus
bool?DallasTemperature::isConnected(uint8_t*?deviceAddress)
{
??ScratchPad?scratchPad;
??return?isConnected(deviceAddress?scratchPad);
}
//?attempt?to?determine?if?the?device?at?the?given?address?is?connected?to?the?bus
//?also?allows?for?updating?the?read?scratchpad
bool?DallasTemperature::isConnected(uint8_t*?deviceAddress?uint8_t*?scratchPad)
{
??readScratchPad(deviceAddress?scratchPad);
??return?(_wire->crc8(scratchPad?8)?==?scratchPad[SCRATCHPAD_CRC]);
}
//?read?device‘s?scratch?pad
void?DallasTemperature::readScratchPad(uint8_t*?deviceAddress?uint8_t*?scratchPad)
{
??//?send?the?command
??_wire->reset();
??_wire->select(deviceAddress);
??_wire->write(READSCRATCH);
??//?read?the?response???
??//?byte?0:?temperature?LSB
??scratchPad[TEMP_LSB]?=?_wire->read();
??//?byte?1:?temperature?MSB
??scratchPad[TEMP_MSB]?=?_wire->read();
??//?byte?2:?high?alarm?temp
??scratchPad[HIGH_ALARM_TEMP]?=?_wire->read();
??//?byte?3:?low?alarm?temp
??scratchPad[LOW_ALARM_TEMP]?=?_wire->read();
??//?byte?4:
??//?DS18S20:?store?for?crc
??//?DS18B20?&?DS1822:?configuration?regis
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\
?????文件????????1290??2016-03-28?07:33??DallasTemperature\keywords.txt
?????文件????????1850??2016-03-28?07:33??DallasTemperature\README
?????文件????????5759??2016-03-28?07:33??DallasTemperature\DallasTemperature.h
?????文件???????17173??2016-03-28?07:33??DallasTemperature\DallasTemperature.cpp
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\Tester\
?????文件????????3652??2016-03-28?07:33??DallasTemperature\examples\Tester\Tester.pde
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\Single\
?????文件????????3991??2016-03-28?07:33??DallasTemperature\examples\Single\Single.pde
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\Simple\
?????文件?????????927??2016-03-28?07:33??DallasTemperature\examples\Simple\Simple.pde
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\Multiple\
?????文件????????4726??2016-03-28?07:33??DallasTemperature\examples\Multiple\Multiple.pde
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\AlarmHandler\
?????文件????????3930??2016-03-28?07:33??DallasTemperature\examples\AlarmHandler\AlarmHandler.pde
?????目錄???????????0??2016-03-28?07:33??DallasTemperature\examples\Alarm\
?????文件????????4325??2016-03-28?07:33??DallasTemperature\examples\Alarm\Alarm.pde
?????目錄???????????0??2016-03-28?07:33??OneWire\
?????文件?????????819??2016-03-28?07:33??OneWire\keywords.txt
?????文件????????7206??2016-03-28?07:33??OneWire\OneWire.h
?????文件???????16361??2016-03-28?07:33??OneWire\OneWire.cpp
?????目錄???????????0??2016-03-28?07:33??OneWire\examples\
?????目錄???????????0??2016-03-28?07:33??OneWire\examples\DS250x_PROM\
?????文件????????4098??2016-03-28?07:33??OneWire\examples\DS250x_PROM\DS250x_PROM.pde
?????目錄???????????0??2016-03-28?07:33??OneWire\examples\DS2408_Switch\
?????文件????????1907??2016-03-28?07:33??OneWire\examples\DS2408_Switch\DS2408_Switch.pde
?????目錄???????????0??2016-03-28?07:33??OneWire\examples\DS18x20_Temperature\
?????文件????????2763??2016-03-28?07:33??OneWire\examples\DS18x20_Temperature\DS18x20_Temperature.pde
- 上一篇:匯編課程設計 :簡單計算器的設計與實現
- 下一篇:Waifu2x 視頻處理
評論
共有 條評論