Patric Ljung
<5455>
· Text 3041 · w8 · kommentar
1986-03-13 17:18
Ärende: TÖM V24-Buffert
Aha, nu hängde jag med på vad du skrev. Man kollar inte alltid till-
räckligt.
Givetvis sabbas DCD och alltihopa. OUT 65,24 gör just Channel reset,
då hänger du med va? Om du bara vill tömma bufferten gör du med
POKE PEEK2(65500)+4,80,0. Detta tömmer bufferten men det tecken som ligger
i SIOn i väntan på att skickas, vilket det inte gjort pga av saknad DCD,
ligger kvar och skickas när allt är OK. Om linjen är öppen, dvs om alla
signaler är korrekta DCD=1 CTS=1 kommer tecknet att skickas så det blir
inte nåt märkbart, bufferten är tömd.
Mitt problem var att om jag stängde filen med CLOSE så fastnade jag pga
av att CLOSE vill skriva ut bufferten. Som inte går på grund av att DCD
saknas. Då rensade jag bufferten med POKE, men det räckte inte. CLOSE
rutinen kollade även bit 0 i RR1 (förmodligen). Denna bit betyder All
sent, vilket inte är gjort då DCD saknas. Då måste man alltså göra reset
på SIOn, jag tror inte man bara kan ta bort tecknet som ligger i SIOn.
Om man kan är jag intresserad av hur. Möjligtvis mha Tx enable eller
Tx CRC enable i WR5.
I ditt fall bör det väl räcka med POKE PEEK2(65500)+4,80,0 då tecknet
i SIOn ändå skickats eller håller på att göras.
mvh / Patric