IIC und DS1803 DigiPoti

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

Habe es ausprobiert. Kommt aber nur 00 zurück, wenn ich es richtig verstehe. Es ändert sich nicht an dem Widerstandswert.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Kommt denn die Bestätigung zurück, dass der Chip die Daten angenommen hat?
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

ich bin wieder auf das iow56 gewechselt und habe es nochmal versucht. Mit write können die Byts gesendet werden. Mit SetReport kommt die Fehlermeldung"Ein an das System angeschlossenes Gerät funktioniert nicht".

Mit dem IOW40 hatte ich da keine Probleme.

Komme irgentwie nicht weiter.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

SetReport?
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

Habe das Tool SimpleHIDwrite.exe gestartet.

In der unteren Reihe der Buttons gibt es den Button SetReport. Damit bekomme ich die Fehlermeldung.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Dann liegt wohl ein Hardwareproblem vor.
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

Habe wieder den iow40 angeschlossen.

write und SetReport funktioniert beides. mit GetReport bekomme ich nur 00 von allen bytes
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Write ist der richtige Button. Weder GetReport noch SetReport sind fuer den IOWarrior relevant.
Das Read laeuft automatisch sobald der IOWarrior (bzw. das richtige seiner Interfaces) ausgewaehlt ist.
Da es hier um IIC geht, ist das Special Mode Interface auszuwaehlen. Dann erst mal den IIC einschalten. Dazu den dokumentierten Report eintragen und mit Write schreiben. Der Inhalt dieser Reports ist zwischen IOWarrior 40 und 56 unterschiedlich.
Danach kann man die Reports an den IIC absetzen. Auch diese unterscheiden sich im Inhalt bei zwischen IOWarrior 40 und 56.
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

ich habe zur Auswahl
Plain I/O
Complex Interfaces

Sonst habe ich keine Auswahlmöglichkeiten.

Dann kann ich die ReportID eingeben und dann eben die übrigen Bytes.
02 ReportID
C3 50 AF 88 00 00 00

Dann Write und somit wird oben die Zeile
WR 02 C3 50 AF 88 00 00 00

Dann kommt nichts mehr.
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Richtig, wenn man die IIC Funktion nicht einschaltet, dann reagiert der IICWrite auch nicht.

Also erst mal Report $01 mit erstem Datenbyte = $01 zwecks Aktivierung des IIC. Danach den IICWrite absetzen. Der IO-Warrior sollte mit ReportID $02 und $03 für 3 transferierte Bytes antworten.
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

Problem sitzt wie üblich vor dem Rechner.

Habe folgendes ausprobiert.
WR 01 01 00 00 00 00
WR 02 C3 50 AF 88 00
RD 02 80 00 00 00 00

Wert hat sich trotzdem nicht verändert.
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

Gibt eine Fehlermeldung zurück. Weiß nur nicht warum. Ist die Verdrahtung irgentwie kritisch, da ich sie auf einem Exprimentierboard aufgebaut habe?
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Das kommt darauf an wie lang die Verbindung ist. Eine andere gerne gebaute Option ist es dem Chip keinen Kondensator zu spendieren.

Auf jeden Fall ist die Situation die, dass der IIC Chip nicht mal das Adressbyte bestätigt. Eventuell ist auch einfach die Adresse falsch.
jan138
Posts: 28
Joined: Tue Feb 13, 2007 7:10 pm

Post by jan138 »

Was für einen Kondensator meinst du?

Pins von der Adresse sind alle auf Masse, somit gehe ich von 0 aus?
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Uebersetz doch mal WR 02 C3 50 AF 88 00 in Beschreibungen der Bit-Bestandteile. Damit laesst sich der Fehler wahrscheinlich am leichtesten finden falls die Ursache in einem falschen Datenpaket liegt.
So etwas wie 02 = IIC ansprechen.
Post Reply