Gast
#1471839
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
|
Anzeige
|
DS18S20 mit Infineon Mikrocontroller
Gast
#1471839
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 Ich habe das mal mit einem HC12 gemacht.
Gast
#1471863
Ich habe die source code schon geschrieben aber es funktionert nicht. Vielleicht kann jemand meine source code überprüfen? Ja, dann poste ihn doch mal, damit wir ihn sehen (am besten als .c-Datei hochladen damit wir das auch formatiert sehen)
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). 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 schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|