Gast
#6014908
Hallo, ich bin bei der Master-SPI gerade über ein idiotisches "Feature" gestolpert und frage mich, warum man das gerade so - bei einem 32Bit-µC - umgesetzt hat. Und zwar geht es um das (Hardware-)Slave-Select-Signal. Im DB ist es ja wenigstens beschrieben, dass wenn MSSEN= 1 ist, die SPI nach jedem gesendeten Byte(!) !SS auf high setzt und eine Pause von fast 4Bit macht! Das verringert nicht nur unnötig die Datenrate um 33%, sondern ist bei vielen Slave-ICs fatal, die erwarten dass während des ganzen Frames (>8Bit) !SS auf low bleibt. Die Idiotie der Entwickler zeigt sich für mich auch dadurch, dass die SPI ja ein TXC-Flag hat, das man zur Ansteuerung von !SS korrekter Weise hätte nutzen können! Dann wären die Pausen genauso unnötig! Grrrrr... Jedenfalls ist dieser HW-Modus für mich praktisch nie benutzbar! Zusätzlich brauche ich bei meinen selbst geschriebenen allgemeinen SPI-Initialisierungsroutinen jetzt zusätzliche Fallunterscheidungen und muss !SS umständlich selbst ansteuern... Gerade habe ich zudem herausgefunden, dass wenn man MSSEN= 0 setzt, anscheinend kein RXC-Flag mehr gesetzt wird! Kann das sein??? Das macht in meinen Routinen zusätzlich Scherereien... ...Oder habe ich 'was übersehen?