![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> Gibt es eine möglichkeit auf der Hardware RS232 (ESCI) der Open-Macro (bei 38400baud) den Empfang zu Unterbrechen, falls keine Daten kommen? Anderenfalls hängt sich ja das Programm zwangsläufig auf (GET wartet laut Doku ewig auf Daten, Interrupts gehen in dieser Zeit nicht). Oder wird das RXD bit bei eingeschalteter ESCI bei der Open-Macro korrekt gesetzt (bin mir nicht sicher, ob das in der Doku mit dem WHILE RXD Loop so gemeint ist)? > Danke, Lukas Hallo Lukas, der Empfang über ESCI der Macro erfolgt interruptgesteuert. Das laufende Programm wird also nicht blockiert. Ich habe das Auslesen der Daten so geregelt: Die Information, ob im 8-Byte-Buffer neue Daten liegen, kannst du über den Pointer Esciptr abfragen. Ein If Esciptr>=8 then wirkt wie: if RXD then... Im Assembler kannst Du dann direkt auf den Buffer mit lda EsciBuf und sta Variable (Basic-Variable) zugreifen. Bert |
Antwort schreiben |