Ich werde aus der HAL beim STM32F1 nicht ganz schlau. Wie kann man im Adressbyte noch Daten senden? Ich benutze einen MCP23008 und der möchte den Opcode gerne im ersten byte haben. Wie kann ich mit HAL_I2C_Master_Transmit also das Adressbyte verändern?
Martin schrieb: > Wie kann man im Adressbyte noch Daten senden? Ich verstehe deine Frage nicht. Das erste Byte enthält 7 Bit für die Adresse und 1 Bit für das R/W Flag. Damit ist das Byte voll, mehr geht nicht. > Ich benutze einen MCP23008 und der möchte den Opcode gerne im ersten byte haben. Das erste Byte ist der Opcode.
Steve van de Grens schrieb: > Das erste Byte ist der Opcode. Der MCP23008 nutzt aber nur 3 Adressbits. Also einfach DevAddress dementsprechend schreiben?
Martin schrieb: > Der MCP23008 nutzt aber nur 3 Adressbits Nein. Ist das dein erster I²C Baustein, mit dem du zu tun hast? Ich frage, weil an der Kommunikation dieses IC überhaupt nichts speziell ist.
:
Bearbeitet durch User
> weil an der Kommunikation dieses IC überhaupt nichts speziell ist.
Wer seinen Master in I2C machen will der spielt mal mit dem LP5810
von TI. :-D
Ist aber ein cooles Teil fuer Zylonenprogrammierer.
Vanye
Steve van de Grens schrieb: > Martin schrieb: >> Der MCP23008 nutzt aber nur 3 Adressbits > > Nein. > > Ist das dein erster I²C Baustein, mit dem du zu tun hast? Ich frage, > weil an der Kommunikation dieses IC überhaupt nichts speziell ist. Ja ich habe I2C immer gemieden daher ist das der erste. Also sende ich mit HAL_I2C_Master_Transmit als devAddress das Byte aus Figure 1-2, dann die Registeradresse zum beschreiben und dann der Wert?
Es ist nicht verboten, einfach mal das Datenblatt des MCP23008 zu lesen. In "FIGURE 1-1: MCP23008 I2C DEVICE PROTOCOL" ist doch alles zu sehen, was auf dem I2C passiert.
Thomas W. schrieb: > Man koennte auch gucken, wie andere es gemacht haben. Das wäre zuviel verlangt. Dann müsste man ja selbst das Denken und Arbeiten anfangen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.