Lars Ro Geschrieben January 8, 2012 at 03:27 Geschrieben January 8, 2012 at 03:27 Hallo, eine Frage zur internen Interrupt-Behandlung: Ein Atmel SAM3S kann ja (beispielsweise) bei Änderungen an einem seiner (digitalen) Eingänge einen Interrupt auslösen. Das kann man ja auch in Eurem API nutzen. Aber wie funktioniert das über Brick-Grenzen hinweg? Geht das über die Signalleitungen "Interrupt 0-2" des Stack Data Connectors? Ich frage das, weil die laut Doku 1. scheinbar nur für Master-Extensions genutzt werden (oder nicht?), und 2. ja nur als "Interrupt Outputs" beschrieben sind (ich denke mal, Output aus Sicht des Masters, oder?) Wird da vielleicht auch nur gepollt? Viele Grüße, Lars Zitieren
borg Geschrieben January 8, 2012 at 21:28 Geschrieben January 8, 2012 at 21:28 Ganz unterschiedlich. Bricklets haben Plugins auf dem EEPROM die vom Brick ausgelesen und ausgeführt werden. D.h. da können die Interrupts ganz normal vom Prozessor ausgelesen werden. Bricks die in einem Stack auf einem Master Brick sitzen kommunizieren über SPI mit dem Master, d.h. der Prozessor vom Stack Teilnehmer bekommt einen Interrupt und speichert den solange bis er vom Master Brick per SPI angesprochen wird. Bei Kommunikation über Extensions gibt es wiederum "echte" Interrupts (Da die Latenz über Funkkommunikation sowieso schon so hoch ist, ist das dort notwendig). Oben drüber sitzt dann nochmal das USB Protokoll. Bei USB wird leider immer vom PC gepollt, eine USB Datenübertragung kann nie von einem USB Device gestartet werden. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.