Software Reset

Gast #4253823
Lesenswert?

Hallo,
ich habe Probleme mit meinem PCA9685 und möchte hier einen softwarereset 
ausführen. Im Datenblatt steht:

Software Reset I2C-bus address
The address shown in Figure 5 is used when a reset of the PCA9685 needs 
to be
performed by the master. The Software Reset address (SWRST Call) must be 
used with R/W = logic 0. If R/W = logic 1, the PCA9685 does not 
acknowledge the SWRST


-> ich hab keine Ahnung was ich machen muss :(( - ich denke ich muss 
irgendetwas in ein Regigster schreiben - aber in welches? Ich kann das 
aus dem Datenblatt (http://www.nxp.com/documents/data_sheet/PCA9685.pdf)
nicht erkennen.
Gruß
Pfeiffy
#4253851
Lesenswert?

Beides musst du in der Dokumentation zur I2C Library, die du verwendest, 
zu dem Prozessor, den du verwendest, nachgucken.
Üblicherweise gibt es da Funktionen, um ein oder mehrere Datenbytes an 
eine I2C Adresse zu schicken, und da gibt man auch gleich an, ob der 
Master am Ende eine Stop-Condition erzeugen soll.
Gast #4253868
Lesenswert?

Hallo,
ich weiß, das ich mich nicht mit den Registern und schreiben auskenne, 
ich möchte den PCA benutzen

Cyblord -. schrieb:
> Pfeiffy schrieb:
>> ok, ich schreibe 0b00000110 - aber wie bekomme ich die Reset-Adresse ist
>> das 00h?
>> und wie schreibe ich die Stop-Condition
>>
>> Pfeiffy
>
> Du hast doch ganz andere Probleme als einen Software-Reset auszuführen.
> Geh mal ein paar Schritte zurück und beschäftige dich mal mit dem I2C
> Bus an sich.

ich bin Java-Programmierer und möchte mit pi4j einen pca9685 benutzen - 
dies hat auch funktioniert, doch nun ist irgend etwas falsch gelaufen 
und er bringt nichts mehr - also muss ich versuchen ihn irgendwie 
zurückzusetzen - ich weiß, dass ich dazu eigentlich mehr Erfahrung in 
den Registern haben müsste. Aber ich kann mich eben nicht in alles 
einarbeiten.
Gast #4253870
Lesenswert?

Joe F. schrieb:
> Beides musst du in der Dokumentation zur I2C Library, die du
> verwendest,
> zu dem Prozessor, den du verwendest, nachgucken.
> Üblicherweise gibt es da Funktionen, um ein oder mehrere Datenbytes an
> eine I2C Adresse zu schicken, und da gibt man auch gleich an, ob der
> Master am Ende eine Stop-Condition erzeugen soll.

ja, ich kann ja schreiben - aber ich weiß nicht an welche Adresse
#4253881
Lesenswert?

Ich gehe mal stark davon aus, dass die Stop-Condition automatisch 
generiert wird.

Edit:
und
device.write(0x00,(byte) 0b00000110);
ist vermutlich falsch, da write() doch nur das Datenbyte erwartet, und 
"device" bereits an eine I2C Adresse gebunden ist.

Du musst ein weiteres device erzeuten (z.B. "device_reset"), und diesem 
device die Adresse 0x00 zuweisen.
Dann
device_reset.write(0x06);

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