Gast
#5339312
Hallo, hat jemand von euch schon mal einen STM32(F3/F4) per I2C im Bootloadermodus angesprochen? Also zB Befehle wie GetVersion, GetID? Folgender Aufbau: [Mikrocontroller 1] ---- I2C ----- [Mikrocontroller 2] Mikrocontroller 1 greift per I2C auf Mikrocontroller 2 zu (dieser ist im Bootloadermodus (Boot0, Boot1 usw)). Grundlegend reagiert der Mikrocontroller 2 auf die Adresse auf dem Bus und er ACK't auch meine Anfragen, aber was nicht funktioniert ist das konkrete Auslesen, also zB der GetVersion-Command. Ich schicke die 7-Bit-Adresse (als Master Transmitter), bekomme ein ACK, schicke das erste Byte (0x01 als Command) und das XOR dazu (0xFE), bekomme wieder ein ACK. Als nächstes würde mir der Mikrocontroller 2 dann drei Bytes als Antwort schicken - dazu müsste ich ja im Normalfall ein Repeated-Start generieren, also ein Start ohne vorheriges Stopp mit Read-Flag gesetzt (Direction = Receiver). Aber auf das Repeated-Start bekomme ich nur ein NACK und daraufhin wird die Übertragung beendet. Anbei ein Screenshot aus dem Logicanalyzer. Vlt. kann mir ja jemand einen heißen Tipp geben? Danke und VG
