Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => ARM => Cortex ARM => Konuyu başlatan: buzkırıcı - 30 Nisan 2012, 04:05:03

Başlık: DS18b20 sorunu
Gönderen: buzkırıcı - 30 Nisan 2012, 04:05:03
sıcaklığı okuduğumda hep 85 derece olarak gösteriyor. parasit power olarak devreyi gerçekldim ama bir türlü 85 den başka değer göstermiyor. Yardımcı olması açısından kodu da koyuyorum. Yardımlarınız için teşekküerler..



float ds18b20_oku(void)
{
   unsigned char msb,busy=0,negatif=0,lsb,i=0;
   float deger,ondalik=0;

reset();
bir_byte_yazma(0xCC);
bir_byte_yazma(0x44);
  while(i==750)
   {GecikmeUs(1000);   i++;}
reset();
bir_byte_yazma(0xCC);
bir_byte_yazma(0xBE);

lsb=bir_byte_okuma();
msb=bir_byte_okuma();

   if(msb&0xf0) negatif=1;
   if(lsb&0x08) ondalik += 0.5;
   if(lsb&0x04) ondalik += 0.25;
   if(lsb&0x02) ondalik += 0.125;
   if(lsb&0x01) ondalik += 0.0625;
deger =((msb<<4)+(lsb>>4)+ondalik);

  while(i==250)
   {GecikmeUs(1000);   i++;}
return deger;           
}
Başlık: Ynt: DS18b20 sorunu
Gönderen: Maxim - 30 Nisan 2012, 07:29:18
sensör parasit power mı ?
DS18B20-PAR
Başlık: Ynt: DS18b20 sorunu
Gönderen: bocek - 30 Nisan 2012, 09:07:37
return'den önce şu satırları ekle:

reset();     //reset
bir_byte_yazma(0xCC); //Skip ROM
bir_byte_yazma(0x44); //Start Conversion


Edit: üst satırlarda varmış zaten, görmemişim. pardon.
Başlık: Ynt: DS18b20 sorunu
Gönderen: camby - 30 Nisan 2012, 10:03:32
Kaç adet sensör bağlı ve pull-up direnci nedir ?
Başlık: Ynt: DS18b20 sorunu
Gönderen: buzkırıcı - 05 Mayıs 2012, 02:52:41
Sorunu çözdüm 1 adet sensör bağlıydı. Çok salakça bir hata yapmışım.  :-[