Guten Abend, bin gerade dabei den Temperatursensor DS1820 an einem 90S8535 zum laufen zu bringen. Als Temperaturwert erhalte ich immer -9999. Ich habe auch mal "devices" ausgelesen, da erscheint immer "0". Als Compiler verwende ich den CodeVision-AVR. Die Taktfrequenz vom Controller beträgt 8Mhz. Ich habe die Headerdatei "DS1820.h" von CodeVision-Avr eingebunden. Kann es sein dass ich noch die ganzen Verzögerungen von dem 1WIRE Bus noch anpassen muss?
Korrektur: #asm .equ __w1_port=0x10 // PORTD .equ __w1_bit=3 // PIN PD3 vom PortD #endasm
Sollte ich das Timing anpassen oder nicht? Welche Fehlerquellen könnte es noch so geben?
Kann mir hier niemand sagen, ob ich die Verögerungen im Code abändern muss oder nicht? Den DS1820 habe ich schon korrekt angeschlossen. PIN1 : GND PIN2 : Datenleitung angeschlossen on PORTD PD3 PIN3 : VCC (+5V) zwischen PIN2 und PIN3 habe ich noch laut Datenblatt einen 4,7kOhm Widerstand reingehängt.
Frank Se. wrote: > Kann mir hier niemand sagen, ob ich die Verögerungen im Code abändern > muss oder nicht? Naja, ich vermute mal, daß die Mehrheit hier den WINAVR benutzt (ich auch). Daher sind zu Codevision wohl weniger Antworten zu erwarten. Hilft Dir zwar nicht, sollte nur ein leichter Hinweis sein, nicht gleich ungeduldig zu werden (oder den Compiler zu wechseln :-)). Vielleicht gibts ja auch ein Forum speziell für Codevisionäre. Peter
Ok danke für die Info. CodeVision oder WINAVR, ich habe den DS1820 so eingebaut wie in der PDF Dokumentation vom DS1820 zu sehen ist. Ist dies auch wirklich korrekt so?
Ja die Datenleitung hat einen Pullup-Widerstand von der Größe 4,7kOhm bekommen. Ich habe nur mal die Funktion RESET DS1820 geschrieben. Die Funktion gibt eine 1 zurück wenn kein DS1820 erkannt wurde und 0 wenn DS1820 angeschlossen ist. Diese Funktion habe ich von einer Applikations PDF Datei. Auf meinem Display sehe ich nur bei REST den Wert 01. Dies bedeutet, dass der DS1820 nicht erkannt wurde. (Mit dem Register DDRD kann man INPUT bzw. OUTPUT von dem PORT-D einstellen)
Weiss jetzt allerdings nicht wo da der Fehler in der Funktion liegen könnte.
Die Datenleitung vom DS1820 habe ich an den PORT-D Pin 17 (PD3) angeschlossen. Ich muss noch erwähnen, dass ich einen TIMER1 im Compare Mode am laufen habe.
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.