Gast
#3793749
Hallo zusammen, ich sitze zur Zeit an einem Problem, das mich leicht verzweifeln lässt. Ich habe schon zig Beiträge durchgewälzt hier, aber nichts passt so recht zu meinem Problem. Ich habe ein STM32F4 Discovery-Board (I2C-Slave), welches per I2C mit einem Raspberry Pi (Master) kommunizieren soll. Vom Raspberry kommen immer 16-bit Daten, genauso holt sich der Raspberry immer 16-bit Daten vom STM32 ab. Prinzipiell funktioniert das auch, bloß hängt sich der STM32 sporadisch einfach auf während der Kommunikation. Mit dem Oszi kann man erkennen, dass dies immer dann passiert, nachdem der Master die Write-Adresse gesendet hat und der STM32 sein Acknowledge gibt. Dann passiert gar nichts mehr und der STM32 hängt fest. Das merkwürdige ist, dass dies nur sporadisch passiert. Manchmal nach 2 Sekunden, manchmal geht es aber auch länger gut. Debugge ich den STM32 dann tritt der Fehler witzigerweise nur sehr selten auf. Wenn ich im Debugger dann durchklicke, scheint es so, als ob der Interrupt sofort dann wieder gefeuert wird, wenn er verlassen wurde. Das Hauptprogramm wird also nicht mehr erreicht. Andere Interrupts laufen aber noch (habe dort 2 Motorregelungen laufen). Ich habe schon Dinge probiert, wie händisches zurücksetzen der Flags, aber das hilft alles nichts. Ich hoffe jemand hier hat vielleicht eine Idee, woran es klemmen könnte. Danke und Gruß Kai
