Forum: Mikrocontroller und Digitale Elektronik Max 7501 Temperatur ist negativ


von Freak5 (Gast)


Lesenswert?

Also ich habe vorhin meinen Max 7501 ausprobiert, den ich schon ewig
hier liegen habe.
Ich habe das Tutorial der ATmega16 Doku abgetippt und damit eine
Kommunikation aufgebaut

Start
Senden des Adresse
Testen
Senden des Pointers 00000000
Repeated Start
Senden Der Adresse mit einem ReadBit, anstatt des Write Bit
Testen.
Warten.
Byte Empfangen.

Dieses Byte habe ich dann sofort abgespeichert.
Um die Nachkommastelle habe ich mich nicht gekümmert ebendso, wie um
das Beenden der Kommunikation.
Alle Tests der AcknowledgeBits waren vorher erfolgreich.

Aber als Empfangsbyte bekomme ich immer 9F, also 10011111.
Das ist eine Minustemperatur, was ich ausschließen kann. Woran könnte
das liegen? Ich bekomme immer die selbe Temperatur.

Dabei müsste die Temperatur doch mit dem Pointer 00000000 zu erreichen
sein. Ich verstehe das nicht... Die Adresse des Chips muss so wie so
stimmen, sonst wäre das mit der Kommunikation etwas dumm.

Ich schicke euch mal den Code

von Freak5 (Gast)


Lesenswert?

Das mit dem Code hat länger gedauert. Die Netzwerkverbindung hakt
irgendwie sehr, wenn ich mit dem Explorer irgendwodrauf zugreifen will.
Das hatte ich schon einmal. Damals hat das Schlagen des Routers
geholfen. Mh dazu müsste ich den erstmal ausgragen. Wo der wohl gerade
ist....

http://www.freak5mynew.no-ip.info/muell/EEPROM-TemperaturSpeichern.txt

von Freak5 (Gast)


Lesenswert?

; Testen Adresse + RBit Schreiben

in r16,TWSR
andi r16, 0xF8
cpi r16, 0x40
brne ERROR
; Warten auf Daten

RPwait3:
in r16,TWCR
sbrs r16,TWINT
rjmp RPwait3

in r20, TWDR

Mh kann es sein, dass in r20, TWDR nicht außreicht um einen Wert zu
lesen?

von Freak5 (Gast)


Lesenswert?

RPwait3:
in r16,TWCR
sbrs r16,TWINT
rjmp RPwait3



in r20, TWDR
in r16,TWSR
andi r16, 0xF8
cpi r16, 0x50
brne ERROR
..................................
Ich habe jetzt eine Statusabfrage eingebaut. Ich verstehe aber nicht,
warum diese immer einen Fehler ausgibt. Eigentlich sollte doch
wenigstens irgendwann ein richtiger Wert übertagen werden, besonders
wenn der Chip vorher schon  richtig addressiert wurde und den Pointer
auch angenommen hat....

von Freak5 (Gast)


Lesenswert?

Die Pullups sind 10KOhm groß ist das OK? Ich meine der AVR kann ja
einiges an Strom ab, aber vielleicht kommt von dem Chip nicht mehr viel
rüber, oder es ist zu wenig Strom....

http://www.freak5mynew.no-ip.info/muell/DatenBlattMaximTmP_Max7500.gif

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.