mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS18S20 mit Infineon Mikrocontroller


Autor: Aaron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat jemand Erfahrungen, ein Temperatursensor DS18S20 von Maxim mit 
Infineon XC163CM Mikrocontroller, zu programmieren? Wäre super,wenn 
jemanden mir helfen könnte.

Gruss
Aaron

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das mal mit einem HC12 gemacht.

Autor: Aaron (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die source code schon geschrieben aber es funktionert nicht. 
Vielleicht kann jemand meine source code überprüfen?

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, dann poste ihn doch mal, damit wir ihn sehen (am besten als .c-Datei 
hochladen damit wir das auch formatiert sehen)

Autor: Aaron (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Aaron (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.