Forum: Mikrocontroller und Digitale Elektronik STM32F103 - I2C geht nur mit Oszi


von Niine (Gast)


Angehängte Dateien:

Lesenswert?

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

von jo mei (Gast)


Lesenswert?

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.

von Thomas (Gast)


Lesenswert?

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.

von Kevin M. (arduinolover)


Lesenswert?

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.

von Nichtverzweifelter (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.