Hallo zusammen, es gibt ja schon einige Themen zum Thema STM32 und HAL I2C. Mein Problem ist aber etwas eigenartig: Wenn ich das Programm starte und mit dem Oszi messe, dann sieht es ganz normal aus (siehe Anhang) und es funktioniert. Sobald ich aber das Oszi abstecke, dann hängt sich der Bus auf. Dann bekomme ich den Status HAL_BUSY. Und dann passiert nichts mehr auf dem Bus, wenn ich dann messe. Hatte das Problem schonmal jemand? Das sieht für mich eher nach irgendeinem Hardwareproblem aus. Also was bewirkt die Oszispitze? Danke euch, Niine
Wichtig ist die Schaltung, die du uns nicht zeigst. Das Anschliessen eines Oszilloskops übertüncht nur eine Schwäche / Unzulänglichkeit oder einen Fehler in deiner Schaltung.
Niine schrieb: > Also was bewirkt die Oszispitze? 2 Dinge. Ein Cap im pF Bereich. Und vermutlich wird dein ground an den du dich dranhängst mit dem Ground des Oszis und übers Netz und Spannungsversorgung wieder mit dem Ground der Platine verbunden. Du könntest also ein Masseproblem haben. Aber ohne Schaltplan könnte die Antwort auch Kürbis heißen.
HAL_Busy bei I2C ist oft ein Stuck Low am Bus, wenn sich z.B. ein Slave verabschiedet, oder der STM während der Kommunikation neu startet und der Slave das nicht mit bekommt. Könnte ein Problem mit den Pull Ups sein, die hoffentlich vorhanden sind. Falls es sein Stuck ist kann man das meistens durch mehrmaliges toggeln der Takt Leitung beheben, sofern der Rest natürlich passt.
Dein Oszi liefert PE (Schutzerde), schliesst damit womöglich "Masse" erst richtig an, wurde schon geschrieben. Und es belastet standardmässig, ohne Teilertastkopf, den Bus mit 1 Megaohm, zusätzlich mit rund 35pF. Was machst Du also am Besten: 1) Du schliesst mal nur Masse vom Oszi an 2) Du schliesst fest einen entsprechenden Widerstand an, dabei kann nichts passieren. Wenn Du jetzt immernoch die Messspitze dranhalten musst, dann ist was oberfaul. Sollte die Meldung "busy" aber gerade von dem Oszi kommen, dann gehört Dir die Rübe runtergerissen :-)
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.