Hallo, ich bin derzeit daran mich mit SPI zu beschäftigen. Allerdings habe ich noch nicht genau herausgefunden wie ich das am besten anstelle wenn ich 32bit über die SPI Schnittstelle senden will. Vom Prinzip: 1. Den Empfänger über eine leitung anwählen (der wird bereit fürs empfangen) 2. Daten der Reihe nach mit dem Schiebetakt rüber schieben. So wie es im Datenblattcode von Atmel beschrieben wird. 3. Die Auswahlleitung wieder umschalten. So das wäre das grobe bei 8 bit. Wenn ich jetzt aber 32 bit übertragen muss habe ich eine Variable mit 32 bit länge. Muss ich die jetzt auf vier mal 8 bit aufteilen und separat übertragen. Gibt es da was zu beachten oder ist die SPI Schnittstelle da eher unempfindlich und großzügig? Wie würdet ihr das machen? Freue mich auf eure Antworten Danke
SPI sendet immer 8 Bit pro Frame. Also musst Du die 32-Bit-Variable in 4 Frames nacheinander verschicken. Das hat nichts mit einer wie auch immer gearteten "Großzügigkeit" der SPI-Schnittstelle zu tun...
deine 32 bit in 8 bit blöcke teilen und dann nacheinander (in der richtigen reihenfolge) senden ohne das cs wieder auf 1 gezogen wird cs darf erst wieder 1 werden wenn die 32 bit über den bus geschoben wurden. dein slave wird aller wahrscheilicheit den befehl abbrechen wenn du zwischen den einzelnen 8 bit cs auf high ziehst
Hey danke für die schnellen Antworten! Dann ist es wirkklich so wie ich es mir gedacht habe. Also die 32bit in 4 blöcke aufteilen und die dann schön der reihe nach übertragen. Ich war mir nicht ganz sicher wie es mit dem Timing ist. Ob es ein Problem ist wenn zwischen den 8 bit eine Pause ist. Danke für die Hilfe
@ Tungsten (Gast) >Ich war mir nicht ganz sicher wie es mit dem Timing ist. Ob es ein >Problem ist wenn zwischen den 8 bit eine Pause ist. Nein, denn SPI ist synchron zum Takt. MFG Falk
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.