Hallo, ich versuche schon seit geraumer Zeit einen DS18S20 mit externer Stromversorgung ganz einfach auszulesen. Habe mich dazu an den vorgegeben Beispielcode von Maxim gehalten: http://www.maxim-ic.com/app-notes/index.mvp/id/126 Die Funktionen scheinen alle super zu funktionieren, wahrscheinlich hab ich in der Reihenfolge einen Fehler. Jedenfalls bekomme ich, wenn ich das Scratchpad auslese, in jedem der 9 Bytes nur ein "0xFD". Woran liegt das? Schöne Grüße Paul
Hallo, ich kann in deinem Code nicht's finden, wo du mal zwischen Ein- und Ausgang des Portpin umschaltest. Am besten du setzt die Portleitung dauerhaft auf Low und arbeitest nur mit DDR. -> DDR=1 Ausgang LOW -> DDR=0 Ausgang HIGH oder Eingang externen Pullup von 4.7k aber nicht vergessen. Sascha
ok, ich hab jetzt den Port auf Low gesetzt mit T_LOW und arbeite in den Funktionen nur mit DDR. Es kommt aber immer noch das gleiche Ergebnis...
Hallo Paul, bei mir steht vor dem "BE" noch ein "CC". Vergleich mal den Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
Gruß Guido
Hab den Code jetzt nach deinem ergänzt. Kommt immer noch nur 0xFD im ScratchPad.
Hast du den Teil auch übernommen?
1 | |
2 | |
3 | |
4 | |
5 | |
Ich komme mit deinem Zeiger in "read_data" nicht klar
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
Das liegt aber daran, dass ich mit Zeigern nie einfach klar komme.
so, hab ich jetzt mal in main() so eingefügt und es kommt immer noch das gleiche....:(
Gast
#1713532
hallo paul, klingt zwar doof, aber überprüf bitte nochmal die Pin-Belegung von deinem Sensor. Ich hab selber mal fast 2 Wochen verzweifelt vor dem Programmcode gesessen, bis ich feststellen musste das im Datenblatt der Sensor auf dem Kopf dargestellt ist... Grüße Tom
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.