Hallo zusammen, ich habe mir einen ELV USB-to-I2C Bausatz bestellt und teste den gerade. Nun habe ich ein Problem: Ich habe ein I2C Gerät mit verschiedenen Registeradressen. Nur wie kann ich diese Register adressieren? In der Doku finde ich nur immer die Geräteadresse. Wenn ich also [Start][Geräteadresse+lesebit][Hexwert][Stop] S 8D 04 P teste, dann bekomme ich einen Wert ausgegeben. Wenn ich dann auf 8C schreibe, kann ich diesen Wert auch wieder auslesen. Aber ich schreibe halt immer nur ein Register und die 04 beim Lesen gibt nur an, wieviel Bytes ich lesen möchte. An welcher Stelle muss ich die Registeradresse angeben? Kann ich mit dem Adapter denn überhaupt verschiedene Register adressieren? Die Doku, so wie ich sie verstehe, geht immer davon aus, dass eine Geräteadresse auch nur ein Register hat. Vielen Dank! Andi
Welcher chip?
Gast
#2231218
Hallo Andi! > Ich habe ein I2C Gerät mit verschiedenen Registeradressen. Was für ein Gerät? > Nur wie kann ich diese Register adressieren? Das steht im Datenblatt des Gerätes, nicht im Datenblatt des USB-to-I2C Adapters. LG Jens
Hallo, Das Datenblatt habe ich leider nicht... es ist ein uP6225 PWM Schaltregler. Ich habe nur das Datenblatt des uP6208, der wohl sehr ähnlich ist. Aber auch da kann ich leider keine Hinweise auf die Registeradressen finden. http://www.google.de/url?sa=t&source=web&cd=1&ved=0CBwQFjAA&url=http%3A%2F%2Fceemic.pri.ee%2Fhardware%2Fdatasheets%2FuP6208.pdf&rct=j&q=up6208&ei=U_L9TZOKEMPMtAbFqL3zDQ&usg=AFQjCNHAekWjNi43FuHy_FdkBmq9K6uqVQ&sig2=SyQF_sTQSWAzH2Gsntdw3Q&cad=rja Es gibt nur allgemeine Angaben zum I2C Bus. Vielen Dank!
Gast
#2231308
Hallo > Ich habe nur das Datenblatt des uP6208, der wohl sehr ähnlich > ist. Aber auch da kann ich leider keine Hinweise auf die > Registeradressen finden. Seite 13 bis 15 beschreibt die Ansteuerung und die Register... LG Jens
Hallo, ich dachte die ganze Geschichte ist I2C und das stimmt überein... ist quasi normiert. Aber jetzt, wo Du es sagst, sehe ich da doch Unterschiede und im Datenblatt des uP steht wirklich nach dem ersten ACK die Registeradresse. Das scheint bei dem ELV Adapter nicht vorgesehen zu sein... habe ich irgendwie eine Chance, das beim ELV Adapter "nachzurüsten"? Ich habe noch nie einen uC programmiert, deswegen hatte ich auf die fertige Lösung von ELV gesetzt. Wie aufwendig ist es, sowas neu zu programmieren, um die jetzt schon vorhandene Hardware nutzen zu können? Ich werde ELV mal schreiben, vielleicht können die sowas nachreichen? Vielen Dank! Andi
Gast
#2231327
Hallo > Das scheint bei dem ELV Adapter nicht vorgesehen zu sein... habe > ich irgendwie eine Chance, das beim ELV Adapter "nachzurüsten"? Da musst Du nichts nachrüsten, Du musst einfach nur ein zweites Byte senden. Beispiel: Start-Adresse, Byte1-Register, Byte2-Daten, Stopp – fertig... LG Jens
Danke für die Hilfe! Aber so richtig funktioniert das leider noch nicht... Ich habe noch kein Muster zwischen meinen Eingaben und den Ausgaben gefunden. Wenn ich also etwas schreibe, an ein bestimmtes Register, steht nicht immer genau das wieder drin. Oft lese ich bei verschieden geschriebenen Registern die gleichen Werte usw. Dann habe ich noch keine eindeutige Zuordnung von Register 00 und Register 01 gefunden... mal steht FF drin, mal 03 und solche komischen Sachen. Sehr myteriös... Ich muss wohl noch etwas üben... Es ist halt etwas schwer. Bei der ELV Software muss ich z.B. beim Lesen: [Start][Adresse-1][Byte-anzahl][Stop] Nun habe ich keine Ahnung, wo ich die Registeradresse platzieren soll. Vor, oder nach der Byteanzahl? Vermutlich dahinter... zumindest scheint es so. Zur Not muss ich mal mit dem Oszi nachschauen, ob auch das ankommt was ich erwarte. Mal schauen, wo ich einen organisieren kann. Vielen Dank!
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
