Hallo, zur Zeit habe ich Probleme einen DS18S20 an einem ATMega8 auszulesen. Der Sensor ist an PD3 angeschlossen und wird parasite power versorgt. Auf meinem Oszi kann ich nur einen sauberen Resetimpuls des W1- Bus alle paar ms sehen. Zur Auswertung nutze ich derzeit einen Code von Peter (1wire.inc) , den ich etwas abgewandelt habe, um diesen mit in mein bestehendes Projekt verwenden zu können. Hauptsächlich habe ich bereits verwendete Register in den SRAM verschoben und lese auch die gewandelten Temperaturwerte aus dem SRAM. Leider werden bisher nur meine ini- Temperaturwerte auf dem LCD angezeigt. Mit einem anderen C-Testprogramm habe ich am selben Pin bei gleicher Beschaltung keine Probleme Werte auszulesen. Kann mir jemand weiterhelfen? Raik
Die Funktion "convert_t" (in "1WIRE_DS18S20.asm") pollt den Sensor, bis die Wandlung fertig ist -- das geht aber nicht, wenn der Sensor "parasite powered" ist (der DS18* kriegt nicht genug Saft durch den Pull-up-Widerstand). Du musst entweder auf die 'normale' Stromversorgung umbauen oder einfach abwarten, bis der Sensor fertig ist (und das NICHT mit einer Warteschleife, es dauert ja fast 'ne 3/4 Sekunde -- so gesehen ist das dauer-pollen ja auch nicht sehr effizient). hth. Jörg ps.: es wäre schön, wenn du das nächste mal deinen Code auf das notwendige Minimum beschränken könntest (Compilierbar und mit 'Symptomen', aber ohne allem anderen)
@ Jörg Der Code aus 1WIRE_DS18S20.asm ist derzeit nicht mit in dem Projekt eingebunden, sondern war nur zu Testzwecken im zip noch enthalten. Für diesen Test war der Sensor mit 5V separat versorgt. Auch das brachte keinen Erfolg. Nur der Code aus 1wire.inc wird verwendet. Da hast Du natürlich recht, das ich solche Dinge vorher hätte entfernen sollen. Compilierbar müßte das Projekt aber sein. Über die Warteschleife werde ich heute abend noch mal nachdenken. Grüße Raik
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.