Gast
#678277
hallo, wann wird eigentlich der interupt für "spi" aufgerufen. welche situation muss erfüllt sein? mfg
|
Anzeige
|
interrupt für die "spi-daten"
Gast
#678277
hallo, wann wird eigentlich der interupt für "spi" aufgerufen. welche situation muss erfüllt sein? mfg
Gast
#678304
Datenblatt! http://de.wikipedia.org/wiki/Glaskugel @ roboterheld (Gast) >hallo, wann wird eigentlich der interupt für "spi" aufgerufen. welche >situation muss erfüllt sein? Meistens wenn die Übertragung eines Bytes abgeschlossen ist. MFG Falk
Gast
#678655
wenn der master sendet werden ja die daten vom spi-interrupt als abgeschlossen empfangen gemeldet. da die datenrate sehr hoch ist, möchte ich mal wissen, wie der datentransfer kontrolliert von statten geht. nach dem motto : byte raus vom master, slave empfängt und der user packt die daten in irgendeine variable und gibt zum master das go, das nächste byte zu senden. wie wird das im regelfall reguliert. mfg @ roboterheld (Gast) >wenn der master sendet werden ja die daten vom spi-interrupt als >abgeschlossen empfangen gemeldet. ??? Komischer Satz. Der Interrupt meldet (bei den meisten uCs) das Ende der Übertragung. Sende und Empfangen wird gleichzeitig, auf getrennten Leitungen. > da die datenrate sehr hoch ist, möchte >ich mal wissen, wie der datentransfer kontrolliert von statten geht. SPI >nach dem motto : byte raus vom master, slave empfängt und der user packt >die daten in irgendeine variable und gibt zum master das go, das nächste >byte zu senden. wie wird das im regelfall reguliert. AVR-Tutorial: Schieberegister MFG Falk Falk Brunner wrote: > Der Interrupt meldet (bei den meisten uCs) das Ende der Übertragung. > Sende und Empfangen wird gleichzeitig, auf getrennten Leitungen. Vielleicht wollte er ja darauf hinaus, dass SPI eher für Hardware-Slaves geeignet ist denn für Controller-Slaves. Im Prinzip ist es ja einfach ein Schieberegister. Da es keine flow control gibt (anders als z. B. bei I²C), kann der Slave nicht mitteilen, dass er die Daten noch gar nicht bereit gestellt hat -- er muss es einfach innerhalb der vorgesehenen Zeit getan haben. Wenn du nun für die Bereitstellung der Daten erst noch das soeben empfangene Byte auswerten musst (damit du weißt, welche Daten es denn sein sollen), und das vielleicht auch noch als Reaktion auf einen SPI-Interrupt (mitsamt seiner Interruptannahme-Zeit), dann muss der Master schon ein ganzes Weilchen ,,freiwillig'' vorher warten. Der SPI-Interrupt hat eigentlich nur Sinn, wenn die Zeit für die Datenübertragung (auf Grund einer geringen SPI-Taktrate im Vergleich zur CPU-Frequenz) sehr langsam von Statten geht. Da die Slaves in der Regel wirklich in Hardware gegossen sind und oft sehr hohe SPI-Raten verkraften, wird man die Benutzung dieses Interrupts nicht sehr häufig antreffen. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|