Hallo
ich hab mir den Temperatursensor DS1620 gekauft, und möchte jetzt
natürlich die Temperatur auslesen. Ich habs so versucht wie's im
Datenblatt steht, bloß es nicht geht.
Kann mir da jemand weiterhelfen.
Danke
Jochen
Andreas wollte dir durch die Blume sagen, daß du vielleicht mal dein
Programm hier reinstellen solltest. Wie soll am sonst erkennen, wo dein
Fehler liegt?
Also habs jetzt mal gedebugged und sehe das bei der Kommunikation mit
dem DS1620 irgendwas schief geht denn ich empfange immer 0 wenn ich was
vom DS1620 holen will
Hat keiner schon einen DS1620 verwendet und kann mir weiterhelfen
Vielleicht solltest Du noch angeben, welchen MC zu verwendest.
Um einen Pin bidirektional zu nutzen, mußt Du beim AVR die Richtung
umschalten sowie vom Input Register lesen, bzw. beim 8051 sicherstellen,
daß der Pin vor dem Lesen auf high gesetzt ist (open drain output).
Peter
Hi Jochen,
ich denke, Du hast das gleiche Problem, das auch ich hatte.
Ich hab's mittlerweile hingekriegt (in Pascal/Assembler).
Offensichtlich ist das Datenblatt da nicht eindeutig genug.
Die Logik ist folgendermaßen:
RST = 1
sende $AA (start conversion)
"warten"
read temp Lo
read temp hi
RST = 0 (!!!!)
Also der ganze Zyklus OHNE Reset zu toggeln !
Wenn Dir das noch nicht hilft, melde Dich nochmal !
@Gunter
Danke ich hab das Problem gefunden und zwar waren es die Funktionen
Get1620Byte Put1620Byte Read1620byte Write1620Byte
die hab ich nähmlich direkt von der Homepage von Dallas gezogen und
gedacht die müssten passen. Zja jetzt weiss ich das Beispiel Programme
auch wenn sie vom Hersteller stammen fehlerhaft sind. Das hat mich ein
ganzer Tag gekostet
Nochmals Danke
@Jochen,
und wenn Du uns auch noch verraten könntest, was daran falsch ist.
Ein Forum, wo jeder nur nimmt und nichts gibt kann nämlich nicht
existieren.
Ich wußte garnicht, daß Dallas auch M16-Beispiele ins Web stellt.
Peter
Also der neu source für die oben genannten funktionen sind im Anhang.
Es waren nur die Funktionen Put1620Byte und Write1620Byte
und zwar bei zerstückeln des Bytes in die einzelne Bits war der fehler
Und Dallas hat ein Beispiel für nen 8051 in C gemacht, die man dann sehr
leicht auch auf andere µC übernehmen kann
Hi,
Ich habe den von Jochen geposteten Sourcecode auf den ATmega103 probiert
umzuschreiben. Irgendwie funktioniert das ganze nicht so richtig. Der
Controller empfängt nur 1en.
Habe die Kommunikation mal mit dem Oszi gemessen. Das Bild befindet sich
im Anghang. obere Kurve ist CLK und untere Kurve ist DQ.
Ich weiß nicht mehr weiter, vieleicht kann mir einer helfen.
lg,
Stefan
Hallo da draussen,
inzwischen sind ja ein paar´Wochen vergangen. Ich versuche auch gerade,
einen DS1620 per AVR in Fahrt zu bringen.
Nix klappt.
Auf dem Oskar sehe ich das gleiche Bild wie Stefan. Es ist aber
wirklich ein 1620 ...
Hat jemand an dem Thema weitergemacht und eine Lösung in Assembler für
AVRs ?
Ich könnte natürlich meinen M*st posten. Würde das was helfen ?
Viele Grüße
Klaus
Hi,
Habe damals nicht mehr daran gedacht den Ausgang der Geschichte zu
Posten.
Habe meine Software umgeschrieben auf den 1621er ist dann bald
gegangen. C-Code(1621er) hätte ich, aber mit ASM beim AVR hab ich nie
gemacht. Aber soweit ich mich errinnern kann hab ich in ASM für den
1620er viel im Netz gefunden.
lg,
Stefan