DS1631 Auslesen von MS und LS Databyte

Gast #1968119
Lesenswert?

Hallo,

ich beschäftige mich mit dem DS1631 und einem ATMega2561. Die 
Kommunikation  funktioniert ohne Probleme. Dazu habe ich den Code von 
Peter Fleury genutzt.

Nun möchte ich aber auch die Nachkommastellen aus dem DS1631 auslesen.
Laut Datenblatt folgt dem auslesen des MS Data byte ein ACK vom Master 
und dann wird das LS Data byte bereitgestellt.

Aber wie sende ein ACK vom Master?

Das Datenblatt vom Mega hat mir bis jetzt auch nicht wirklich geholfen. 
Hie habe ich nur Beispiele zum empfangen eines ACK oder NACK gefunden.

Hat jemand von euch einen oder Hinweis Tipp für mich?

Gruß
Carsten
Gast #1968316
Lesenswert?

Hallo,

jab danke, ich kann nun beide Registerwerte auslesen. Ich verstehe zwar 
noch nicht warum i2c_readNak mit dem ACK(Master) gleichzusetzten ist, 
aber das werde ich hoffentlich noch rausfinden.

Gruß
Carsten
#1969528
Lesenswert?

Carsten schrieb:
> Ich verstehe zwar
> noch nicht warum i2c_readNak mit dem ACK(Master) gleichzusetzten ist,

Ist es auch nicht.

Das I2C-Protokoll besagt, dass wenn man mehrere Bytes hintereinander 
auslesen will, man jeweils vor dem nächsten Byte ein Master-ACK machen 
muss, um der I2C-Peropherie klar zu machen, dass man das noch ein Byte 
haben möchte. Dass passiert am Ende von i2c-readAck. Nach dem letzten 
Byte braucht man kein Ack mehr und sendet dementsprechend auch keins. 
Darum nutz man hier i2c_readNak, welches am Ende des Lesevorgangs kein 
Ack sendet.

Gruß Skriptkiddy.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren