MISO MOSI bewegt sich nicht in SPI [geschlossen]

Ich kann nicht mit SPI zwischen 2 Geräten kommunizieren. Unten sind Oszilloskop-Plots.

Ich möchte nach möglichen Problemen oder Fehlern fragen, die man in der FW gemacht haben könnte. Ich muss den allgemeinen Debug-Ansatz in diesem Fall verstehen.Geben Sie hier die Bildbeschreibung ein

Schaltplan hinzufügen. Warum haben die MISO- und MOSi-Linien eine so niedrige Amplitude? 10x Sonde? Was treibt diese Linien an. Diese scheinen mit dem CS synchron zu sein. Aktualisieren Sie Ihren Beitrag mit diesen Informationen, nachdem Sie einige Kommentare erhalten haben.
Was ist FW? Und können wir einen Schaltplan sehen?
"Nichts funktioniert, was könnte das Problem sein"? Antwort: irgendetwas. Geben Sie Kontext und Details an. Schaltpläne, Quellcode, Mikrocontrollertyp, Datenblätter, alles, was relevant sein könnte.
Erarbeiten Sie "FW", erläutern Sie Ihr Problem mit der Schaltung.

Antworten (1)

Ein mögliches Problem (bei Verwendung eines Mikrocontrollers für den SPI-Master) könnte sein, dass die MOSI- und MISO-Pins nicht für SPI programmiert sind, sodass sie standardmäßig auf den GPIO-Modus eingestellt sein und logisch 0 ausgeben könnten. Oder einfach an falsche Pins angeschlossen. Es scheint jedoch, dass CS und SCLK funktionieren. Versuchen Sie, den MISO-Pin vom Master zu trennen, um zu sehen, ob das Slave-Gerät ihn umschaltet, und wenn ja, dann hält ein anderer Pin ihn niedrig. Gleiches gilt für den MOSI-Pin, wenn er mit dem falschen Pin des Slaves verbunden ist.

Ein weiteres mögliches Problem ist softwarebezogen, daher schlage ich vor, ein einzelnes Byte (z. B. 0x71) fest zu codieren, das an das MOSI ausgegeben werden soll, und nach diesem Bitmuster zu suchen, um die MSB / LSB-Richtung zu verstehen. Wenn Sie eine Interrupt-Routine verwenden, codieren Sie die Ausgabe für das einfachste Debugging einfach in dieses Byte und erweitern Sie sie dann auf ein kurzes bekanntes Muster, bis Sie das Problem entdecken.