DS18S20 mit Infineon Mikrocontroller

Gast #1471889
Die Source Code wurde von mir und einem Kollege teilweise geschrieben. 
Die Funktion DS18_GetTemperature () bin ich nicht sicher, ob ich richtig 
geschrieben habe, weil ich schlecht mit pointer bin (Anfänger im 
programmieren).
Angehängte Dateien:
#1471993
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
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

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.