Hallo! Ich habe mir eine Funktion geschrieben, um zu prüfen ob ein Sensor mit einer bestimmten ROM-Id mit dem 1-WIRE Bus verbunden ist. Jedoch gibt diese Funktion immer false zurück, wenn die Sensor-Temperatur über ca. 50°C steigt. Kann mir evtl. jemand helfen? Im Datenblatt finde ich keine Lösung. Trozdem kann ich den Sensor ansprechen, und die Temperatur auslesen. Hier die Funktion (AVR-GCC): unsigned char SearchRom(unsigned char RomID[]) { unsigned char i,j,temp,op; if(ow_reset()) return FALSE; write_byte(0xF0); for(i=0;i<8;i++) { for(j=0;j<8;j++) { op = 0; if (read_bit()==1) op++; wait_us(120); if (read_bit()==1) op++; temp = RomID[i]>>j; temp &= 0x01; write_bit(temp); } if (op == 2) return FALSE; } return TRUE; }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.