Forum: Mikrocontroller und Digitale Elektronik DS1820 liefert immer den wert 1023,5, ID stimmt


von Michael S. (olle)


Angehängte Dateien:

Lesenswert?

Hi, ich benutze ein Atmel Evaluationboard V2.0, mit einem ATmega16 (8
MHz Quarz) und einem 1-wire-Tempsensor (DS1820).
 Header für temp sensor:
  #asm
        .equ __w1_port=0x18
        .equ __w1_bit=0
    #endasm
#include<ds1820.h>

jetzt habe ich zur Probe den C-Code aus dem CodeVisionAVR-Manual
geschrieben. Der Tempsenor wird auch erkannt, doch in dem
CodeVision-Termial ( über RS232 ) wird mir immer der gleiche Wert
angezeigt: 1023.5

folgender C-Code wird zur Ausgabe benutzt:
while(1)
        {
                for(i=0;i<devices;)
                {
                        temp=ds1820_temperature_10(&rom_code[i][0]);
                        j='+';
                        if(temp<0)
                        {
                        j='-';
                        temp=-temp;
                        }
                        printf("t%u=%c%i.%u\n\r",++i,j,temp/10,temp%10);
                }
        }
WARUM ändert sich der Wert nicht, bei unterschiedlichen Temperaturen??
Kann mir bitte jemand helfen.

den code habe ich angehängt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.