Erneute start-condition durchführen

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

Moderator: Guido Körber

Post Reply
yfink
Posts: 2
Joined: Thu Sep 17, 2020 7:32 am

Erneute start-condition durchführen

Post by yfink »

Hallo zusammen,

da ich in meinem Projekt gerne ein oder zwei Bauteile verwenden möchte, welche im Lesemodus ein zweites Startbit erwarten, bevor diese ihre Daten preisgeben, komme ich nun an meine Grenzen.
Mit der zur Verfügung gestellten Lib komme ich derzeit nicht weiter. Sehe ich es richtig, dass der IO-Warrior mit der originalen Lib (visual basic) kein zweites Startbit senden kann?
Wenn ich es richtig verstanden habe, ist es dort nur möglich ein Startbit zu senden, nachdem ein Stopbit gesetzt wurde.
Ich habe auch schon herumexperimentiert und das Stopbit weggelassen, dann kommt der IO-Warrior aber vollständig durcheinander, bzw. sendet garnichts bis zum Timeout.

Hat jemand eine Idee, ob es mit der normalen Lib irgendwie möglich ist, oder muss ich den I2C Zugriff selbst schreiben?

Ich verwende den IOW56.

Ich danke schon mal im Voraus.

Gruß
yfink
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: Erneute start-condition durchführen

Post by Guido Körber »

Klingt so, als wenn da ein Missverständnis vorliegt.

Das Lesen auf dem IIC funktioniert so, dass entweder direkt ein Lesezugriff gestartet wird, oder erst ein Schreibzugriff erfolgt (um eine Registeradresse zu setzen) und dann der Lesezugriff folgt.

Im zweiten Fall macht man einen Schreibzugriff mit der Option kein Stop zu erzeugen und danach ganz normal einen Lesezugriff.
yfink
Posts: 2
Joined: Thu Sep 17, 2020 7:32 am

Re: Erneute start-condition durchführen

Post by yfink »

Danke für die rasche Antwort, das klingt natürlich logisch.
Ich werde es noch einmal probieren und mich ggf. erneut melden.

Danke für die Hilfe!
yfink
Post Reply