Hallo, ich beabsichtige, eine bidirektionale SPI Kommunikation zwischen zwei anderen Geräten aufzuzeichnen. Dazu benutzte ich bei STM32F215 zwei SPIs im Slave-Betrieb. Die erste SPI nimmt von den beiden Geräten den Master auf, die zweite SPI den Slave. Das Problem ist, daß die aufzuzeichnenden SPIs sich nicht an 8- oder 16-bit Frames halten, so daß am Ende der Aufnahme die letzten Bits zwar von den SPIs des STM32 empfangen wurden (also im Shift-Register), diese aber nicht zum Lesen (im RX-Buffer) zur Verfügung stehen. Nur komplette 8- oder 16-Bits werden in den Rx-Buffer übernommen. Gibt es eine Möglichkeit, an die unvollständigen Daten zu gelangen? Kann man eine Datenübernahme vom Shift-Register in den RX-Buffer erzwingen, oder direkt das Shift-Register auslesen? Vielen Dank für Vorschläge
IMO nein. Aber man kann oft eine andere Bitzahl als 8 einstellen.
Hallo Jim, danke für die Antwort, das Problem ist, daß ich nicht vorher weiß, wieviele Bits insgesamt gesendet werden. Eine Lösung ist, einen GPIO-Pin auf die SCK-Eingänge zurückzuführen und sich selbst noch die fehlenden Takte zu schicken. Nur hat das wiederum Auswirkung auf die anderen Geräte, da nun auf der SCK-Leitung etwas gesendet wird. Ich kann das Problem zwar mit weiteren Bauteile lösen, aber schön ist das nicht. Grüße Ralph
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.