Hier noch die Lösung des Problems, die ich nach langem probieren und Nachdenken gefunden habe:
Ich setze den SPI-Counter des MSP430F2013 nicht auf 16 (für 16 Bit, wie es normal wäre, wenn man 16 Bit übertragen möchte) sondern auf 8 !!!
Damit funktioniert es. Der Counter zählt von 7 bis 0 und gibt denn die while schleife wieder frei.
Damit wird erreicht, dass 16 Bit übertragen werden (2 Byte) und das Handshake-Signal rechtzeitig kommt, um den IO-Warrior56 anzuhalten - so lange, bis dass der nächste 16-Bit-Wert in das SPI-Register geladen wurde.
Was ich mir wünsche:
Eine Möglichkeit, die Pausen zwischen der Übertragung der Bytes beim IO-Warrior56 einstellen zu können. Es sind noch viele Bits in den Flags frei. Es wäre schön, wenn man die Pausen verlängern könnte (keine Pausenverlängerung, 20µs Verlängerung, 40µs Verlängerung, 80µs Verlängerung - das würde nur zwei Bits beanspruchen).
MFG
Franz Peter Zantis
SPI-Synchronisation
Moderator: Guido Körber
-
- Posts: 97
- Joined: Wed Aug 03, 2011 3:46 pm
- Contact:
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: SPI-Synchronisation
Wir werden das mal auf die Wunschliste packen. Aber so ganz einfach ist das nicht, da haben wir dann bestimmt ganz schnell Anforderungen nach noch ganz anderen Pausenzeiten. Müssen wir mal schauen, ob sich da eine gute Lösung finden lässt.
-
- Posts: 97
- Joined: Wed Aug 03, 2011 3:46 pm
- Contact:
Re: SPI-Synchronisation
Auf welcher Position der Wunschliste ist denn die "Verlängerung der Pausenzeit zwischen den Bytes" angekommen?
-
- Site Admin
- Posts: 2856
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Re: SPI-Synchronisation
Bisher ohne Priorität, die Anforderung ist uns sonst noch nicht angetragen worden und es ist halt nach wie vor die Frage wie eine universelle Lösung da aussehen sollte.