Forum: Compiler & IDEs TWI und LM75


von Bjoern01 (Gast)


Lesenswert?

Hallo,
ich bin gerade dabei einen LM75 per TWI auszulesen. Das ganze
funktioniert auch soweit bloß ich habe noch ein Problem. Und zwar muss
ich den Mega8 den ich verwende nach jedem auslesen einer Temperatur
reseten damit er die nächste anzeigt. Sprich er ließt nur eine
Temperatur aus und dann bleibt das Programm irgendwie stehen. Woran
könnte das liegen?? Ich benutze übrigens das Hardware TWI interface.

von Benedikt (Gast)


Lesenswert?

List du auch beide Bytes des LM75 ?
Wenn man nur 1Byte liest, hängt dieser.

von Bjoern01 (Gast)


Lesenswert?

Ja ich lese bide Bytes ich dachte auch zuerst das es daran liegt aber es
scheint am AVR zu liegen, da ich den LM ja an der Stromversorgung lasse
wenn ich den AVR resete und nach dem reset ließt er ja nen neuen Wert
ein.

von Benedikt (Gast)


Lesenswert?

Lass dir mal nach jedem Transfer den Status des TWI ausgeben, dann
siehst du ob ein Fehler aufgetreten ist.

von Bjoern01 (Gast)


Lesenswert?

Das Problem ist gelöst! Ich hab die TWI Routine die mir den LM75
ausließt zu schnell hinterinander aufgerufen. Jetzt hab ich nen Timer
genommen der in nem bestimmten Intervall den Sensor ausließt und es
funktioniert!

von Bjoern01 (Gast)


Lesenswert?

Ich hab nochmal ne frage hat schonmal jemand diesen O.S. Pin
Programmiert damit er die überschreitung einer Temperatur anzeigt? Ich
bekomm das net hin :-(

von Ralf G (Gast)


Lesenswert?

...ich häng jetzt leider fest: ich hab den LM75 an meinem ATMEGA8 über
TWI am laufen. Temperaturabfrage ist perfekt, ABER: ich habe mit einem
Schreibzugriff auf das ConfigRegister die Polarität des O.S Anschlusses
erfolgreich geändert, bekomme den Pointer danach aber nicht mehr zurück
auf das TempRegister 00.
Jetzt liest er mir immer fleissig das ConfigRegister aus.

Ich verwende den gleichen Schreibzugriff wie bei der Änderung des
Config registers, nur das ich jetzt an 00 adressiere statt an 01. Ich
sende kein Datenwort sondern sende ein STOP command.

Leider tritt dabei ein Fehler auf und ich weiss nicht was ich falsch
mache.

Kann mir jemnd helfen und hat zufällig eine Pointer-reset routine in
Assembler?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.