PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SHIFTOUT mit externem Takt möglich?



stefan_Z
26.11.2007, 23:58
Nachdem ich den Datenempfang vom PS/2 Gerät aus zum AVR hinbekomme, muss ich jetzt auch Daten Senden.
Blöderweise generiert dabei das PS/2 Gerät den Takt, nicht der AVR.
Im Gegensatz zu SHIFTIN hat SHIFTOUT leider keine Option für externen Takt.

Wie würdet Ihr das Problem lösen?
1 - Mit einem Interrupt, der die Clock abhorcht?
2 - Mit einer LOOP WHILE PINx.n = 1/0?

PicNick
27.11.2007, 08:07
Würde das mit Interrupt versuchen.
aaaaaaber:
Kannst du nicht den SPI verwenden ? der hat doch alle Eigenschaften ?

Vitis
27.11.2007, 09:28
oder twi-slave verwenden

PicNick
27.11.2007, 09:30
@naja, der TWI ist aber mit seinem Start / Stop / Ack ein wenig daneben

stefan_Z
27.11.2007, 10:15
Tja ob SPI geht müsste man mal sehen.. das PS/2 Protokoll ist recht komisch... Man muss die zwei Pins erst auf GND ziehen, dann nacheinander wieder auf HIGH, dann kommt von der Maus der Takt und man kann senden/empfangen. Die Frames sind auch 11 Bit groß, wobei das ACK Bit nicht bei CLK = Low sondern bei High gesendet wird etc... alles recht verwirrend, aber dafür auch nur um zweistellingen Kiloherz-Bereich ;-)

Vitis
27.11.2007, 12:10
start / stop / ack?
wozu denn?
8 Bits rein, Interrupt und gut ist.
Für 11 Bit ist halt nit gut, aber das war in der Aufgabenstellung am Anfang auch nicht drin.