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
temp datasheet
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.