I2C einzelne Register beschreiben

Gast #2442793
Lesenswert?
• ▲
▼
Hallo,

ich möchte mit einem i2c USB converter einen gyrosensor per i2c 
ansteuern.

Ich nutze Hterm als ausführendes Programm dafür.

Die Kommunikation klappt soweit auch. Nur ist jetzt das Problem,dass ich 
gern einzelne Register auslesen und beschreiben möchte.


wenn ich jetzt aber den Befehl

S d3 (Adresse des Sensors plus das lesebit in Hex) [und zb] 3A 
(Registeradresse in Hex) P eingebe:

als Befehl in klarschrift  SD33AP

dann gibt er mir alle register bis zu 3A aus.


Was beim lesen vielleicht noch okay ist.. aber beim schreiben finde ich 
das dann zu schwer.


Gibt es dafür einen Befehl, der mich also Register einzeln auslesen und 
beschreiben lässt.



Bin für jede hilfe Dankbar


Steiger
Gast #2442817
Lesenswert?
• ▲
▼
Och mensch..wenn es so wäre dass dort drinstehen würde "So steuern sie 
einzelne Register an..." würde ich nicht fragen. Sollte jemand das dort 
in der anleitung so finden..kann er mir seine adresse geben und ich 
zeige mich erkenntlich.
Gast #2443002
Lesenswert?
• ▲
▼
> S d3 (Adresse des Sensors plus das lesebit in Hex) [und zb] 3A
>(Registeradresse in Hex) P eingebe:

>als Befehl in klarschrift  SD33AP

>dann gibt er mir alle register bis zu 3A aus.

Nach der Adresse des Sensors und dem lesebit gibst du die aAnzahl von 
Bytes an, die gelesen werden sollen und du schreibst dort eine 3A hin 
also wedren auch 3A Bytes gelesen.
Welches Register dulesen willst mußt du deinem Gyro schon mitteilen das 
kann der I2C zu USB nicht von alleine, der weiß ja nicht was da fürn 
Ding dranhängt. Das weißt nur du und du mußt ins Datenblatt gucken wie 
man dem Gyrosensor mitteilet das man ein bestimmtes Register auslesen 
will.
Ergo alles funktioniert so wie es soll nur nicht so wie du es willst.
Gast #2450769
Lesenswert?
• ▲
▼
http://invensense.com/mems/gyro/documents/PS-MPU-6000A.pdf

Hier ist der Link zum Handbuch des Gyrosensors.

Auf Seite 39 ist ganz klar beschrieben wie das funktionieren sollte.

Das gebe ich ergo in die Zeile von hterm ein.

In runden klammern sind dann die Reaktionen des Sensors zu lesen

SD2 (k foü acknowleded) 01[dieses Register möchte ich auslesen, oder 
auch ein beliebig anderes wie hx1A bzw.bis hoch zu hx75]  (k)  SD3 (und 
nun sollte ja nach der Anleitung der Inhalt des gewünschten Registers 
erscheinen,jedenfalls nach meiner Lesart...passiert aber nicht.)

Jemand eine Idee?

Wenn ich mir noch keine Arbeit damit gemacht hätte wäre mein erster Weg 
nicht in ein Forum, sondern es so lange weiterprobeiren bis nichtsmehr 
da is zum auszuprobieren.

Also wer kann helfen..ich weiß echt nicht weiter.

Steiger
Gast #2451623
Lesenswert?
• ▲
▼
Hi

>Och mensch..wenn es so wäre dass dort drinstehen würde "So steuern sie
>einzelne Register an..." würde ich nicht fragen.

Steht doch bei den Beispielen drin. Oder was denkst du, was man macht 
,wenn eine einzelne EEPROM-Speicherzelle gelesen wird oder die Zeit aus 
der RTC?

MfG Spess
#2451673
Lesenswert?
• ▲
▼
Hallo!

Also Wenn ich I2C Register lese oder schreibe hat das den Aufbau
Start ChipWriteAdresse RegisterAdresse Stop
Start ChipLeseAdresse AnzahlBytes Stop
Wobei Anzahl Bytes eben für jedes Byte Takten muss und somit auch von 
deinem USB Gerät abhängt.
Also bei dir wäre das
S 0xD2 0x01 P
S 0xD3 0x01 P
Also auf Register 0x01 umschalten dann 0x01 Bytes lesen


S 0xD2 0x03 P
S 0xD3 0x06 P
Das wäre ab Register 0x03 6 Bytes lesen
Aber wie gesagt die genaue Schreibweise hängt von deinem Gerät ab.

Hoffe es hilft

Martin

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