Re: DS18B20 hittas inte.. AVR
Postat: 19 december 2013, 16:17:06
Får du inte liv i din kod bifogade jag ett 1wire bibliotek som är Atmels appnote AVR318 portad till GCC. (orginal IAR)
Jag vet inte vem som gjort porten dock, eller var jag hittade den..
Här är Atmels orginaldokument dock: http://www.atmel.com/Images/AVR318.zip
i min kod har jag en
static oneWireDevice devices[MAX_DEVICES];
och för att hitta enheterna gör jag
while (oneWireSearchBuses(devices, MAX_DEVICES, BUS) != ONEWIRE_SEARCH_COMPLETE);
och sen för att prata med den DS2413 jag har gör jag bara
Jag vet inte vem som gjort porten dock, eller var jag hittade den..
Här är Atmels orginaldokument dock: http://www.atmel.com/Images/AVR318.zip
i min kod har jag en
static oneWireDevice devices[MAX_DEVICES];
och för att hitta enheterna gör jag
while (oneWireSearchBuses(devices, MAX_DEVICES, BUS) != ONEWIRE_SEARCH_COMPLETE);
och sen för att prata med den DS2413 jag har gör jag bara
Kod: Markera allt
int16_t status;
// Reset, presence.
if (!oneWireDetectPresence(BUS))
return -1;
// Match the id found earlier.
oneWireMatchRom(id, BUS);
// Send set
oneWireSendByte(DS2413_WRITE_PIO, BUS);
oneWireSendByte(value, BUS);
oneWireSendByte(~value, BUS);
status = oneWireReceiveByte(BUS);
status |= (oneWireReceiveByte(BUS) << 8);
return status;