We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi , I have problems with interfacing DS1820 to LPC2368. i can see only "127" on display. Thnks.
You don't seem to read the presence pulse after the reset.
When reading, you generate a 16us pulse and then read the bit after a further 16us. But shouldn't you read within the first 15us from the start of the read operation?
Have you verified - by sampling the signal continuously after starting a read cycle - that you can see both a zero and a one from the sensor?
Have you used an oscilloscope to verify the signal?
You don't seem to emit any debug output. You should verify what happens long before you get to the conversion to a floating point value. By the way - you don't need floating point for printing the temperature. You can used fixed-point integers instead.
what is maximum frequency you want to use?
Well, that depends of a lot of things:
Which frequency you are using to clock the code? What is the language you will use in the project when you worked? Assembler ?, C ? Basic? Who long is the code inside the interrupt?
Did you post in the wrong thread?
You can't choose the communication frequency for the DS1820. You can choose how long to pause between each bit (infinity is ok as long as the device stays powered), but the bit timing for the communication is dictated by the datasheet. It isn't like I2C where you configure a baudrate, and then clock the data synchronously.
i use c language.
Here are the frequencies :
/* Clock Definitions */ #define Fosc 12000000 /* System frequence,should be less than 80MHz. */ #define Fcclk 57600000 #define Fcco 288000000
i testes several pauses , but at all of them there is no different result.