Ack! I hate when this happens, but nevermind... apparently I needed a stronger pull-up than 4.7k (currently using 2.35k which works). BTW, the read-slot is not required, as I have found out now. Cheers, -Neil. On Tuesday 28 June 2005 02:41 pm, PicDude scribbled: > Hi, > > I am successfully able to read temperature from a DB18B20 (using a > PIC16F872) using the Skip ROM command, and I've just finished writing a > Search-ROM routine that "seems like" it works -- I get back the correct > number of devices on the wire (1 or 2 so far), and a dump of the output > shows the family code "28" in the correct place. I have yet to implement > the CRC check. > > What I was doing next was to replace the Skip-ROM command with a Match-ROM > command but am getting an error. The datasheet for the DS18B20 ( > http://pdfserv.maxim-ic.com/en/ds/DS18B20.pdf ) has a flowchart (Fig 11) > that shows each of the 64 bits being sent after the Match-ROM command, but > after each bit, it shows a diamond-shaped decision box that verifies each > bit. If not a proper match, it shows the Master re-starting the > transaction. Is this required? If the master re-starts based on this > decision, then the master should be comparing this. It can't compare > something unless it retrieves the bit back from the 18B20 at that time, so > it implies that a read-slot is generated. But I don't see any other info > anywhere else that indicates that a read-slot needs to be generated after > each bit, and generating this read-slot will make a big difference here. > > Anyone here know what's really supposed to happen? > > Cheers, > -Neil. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist