DS18S20 mit Infineon Mikrocontroller

#1471993
Lesenswert?

Was genau geht denn nicht? Bekommst du keine Antwort? Kennst du die ID 
oder machst du du das ID unabhängig? Sind die Timings auch richtig 
(siehe http://www.maxim-ic.com/appnotes.cfm/appnote_number/126). Ist 
Clock etc richtig eingestellt?
Irgendwie finde ich den Quellcode sehr verwirrend mir den ganzen 
Unterfunktionen etc. Irgendwie scheinen die Timings nicht zu stimmen. 
Wenn ich mir das bei mir angucke:
um eine 1 zu schreiben setze ich den Pin auf LOW, warte 6µs, dann den 
Pin auf Hochohmig, warte 64µs.
Bei dir ist es so:
warte 2µs, Port auf LOW, warte 5µs, Port auf HIGH, warte 70µs.

Da der 1-Wire Bus einen Pull-Up hat, brauchst du das HIGH gar nicht 
Treiben, denn dann hat ein 1-Wire Baustein ja gar nicht mehr die 
Möglichkeit den Bus auf LOW zu ziehen.
So stehts ja auch in der Application Note:
Drive bus low, delay A, Release bus, delay B
Gast #1472032
Lesenswert?

Clock habe ich auf jeden Fall richtig eingestellt. Ich habe die Delay 
Funktion mit Oszi getestet, indem ich irgend ein Port zusammen mit delay 
funktion toggle.

Warte 2us ist eine Sicherheit, sodass zwichen den Frames eine 
Zeitabstand von mindestens 1us hat.

Ich werde am WE die Code genauer gucken und ohne HIGH probieren. Wenn es 
immer noch nicht funtionert, melde ich mich noch mal.

Danke für den Hinweis.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren