Daten zum DS2408 übertragen ?

Hallo,
ich bin gerade damit beschäftigt mir einen Arduino Busmaster zu Programieren.
Ich habe viel Glück gehabt da ich für alle verwendeten Sensoren super Beispiele gefunden
habe. Aber bei einer Sache hakt es gerade. Ich habe keinen Plan wie ich zu einem DS2408 ein Byte schicken kann oder auch Bit´s wären mir Recht. Das Beispiel Programm liest mir super den Status aus aber was muß ich machen wenn ich dem DS etwas schicken möchte ?

Vielen Dank schonmal im Vorraus

Neues Textdokument.txt (1.94 KB)

http://www.maximintegrated.com/en/products/digital/memory-products/DS2408.html

Device communication follows the standard Dallas Semiconductor 1-Wire protocol.

Dafür gibt es eine Library: http://www.pjrc.com/teensy/td_libs_OneWire.html Da ist sogar ein Beispiel dabei wie man von dem DS2408 liest. Aber nich die I/Os sondern die Register allgemein! Man kann den Code aber anpassen.

Dann schau dir das Datenblatt an: http://datasheets.maximintegrated.com/en/ds/DS2408.pdf Da stehen auf Seite 7 die Kommandos. Zugriff auf die I/Os geht über die Channel Read/Write Kommandos 0xF5 und 0x5A. Siehe Seite 16ff.

Dabei gibt es zwei Dinge zu beachten: 1.) Beim Auslesen kommt alle 4 Bytes eine CRC Prüfsumme. Das lässt sich aber unterbinden wenn man nur ein Byte ausliest und dann reset() macht. 2.) Beim Schreiben muss man das Byte nochmal invertiert senden: "To protect the transmission against data errors, the master has to repeat the new PIO byte in its inverted form."

Das ist nicht unbedingt vollständig. Ich habe es mir nur grob angesehen.

Zur Verwendung der OneWire Library allgemein kannst du dich auch an DS18B20 Libraries halten, die diese verwenden. Vor allem die hier.