Zitat Zitat von PicNick Beitrag anzeigen
unter der Annahme, dass das Speichern nicht zu langsam ist. Müsst man ausrechnen, bis zu welcher baudrate es reicht.
9600 Baud = 9600 Bit/Sek, bei 16 MHz sind dann 1667 Takte pro Bit, da kann er viel speichern. Auch bei 76800 Baud, welche bei 16 MHz nur 0.2% Fehler hätten, wären's noch 208 Takte, sollte auch noch locker reichen. Voraussetzung ist, dass keine Interrupts unterbrechen.
Code:
' inkey (#1)  ---------------------------------
L_0x00F0:
 SBIS 0x0016,4      ' check PortB.4
 RJMP L_0x00F8
 CLR r24            ' return 0
 RET
Der Unterschied von Waitkey ist minimal
Code:
' waitkey (#1)  ---------------------------------
L_0x00F0:
 SBIS 0x0016,4 ' wait PortB.4 = 0
 RJMP L_0x00F6 ' start 
 RJMP L_0x00F0 ' cont'd wait
Das ist der einzige Unterschied

Aber der Entscheidende.