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.
Syd
DamienD
Lundin
Mitu Raj