[comp.sys.atari.st] A flush utility for RS232 I/O

RDROYA01@ULKYVX.BITNET.UUCP (02/27/87)

 
Someone mentioned having problems with locked up serial lines.  I too have
had that problem before.  I use the short program below to reset the input
and output record.  You may also have to turn off your modem to flush any
buffers it has (at least I have to with my Avatex), but at least you do not
have to reset the ST.  However, flow control will still not work even
though the head and tail indexes are reset, so the explanation of how flow
control is set up given in an earlier message must not be correct.
 
--------------------------- source uuencode follows ---------------------
#include <osbind.h>
 
typedef struct IOSTRUCT {
        long    ibuf;
        int     ibufsiz;
        int     ibufhd;
        int     ibuftl;
        int     ibuflow;
        int     ibufhi;
        long    obuf;
        int     obufsiz;
        int     obufhd;
        int     obuftl;
        int     obuflow;
        int     obufhi;
} IOSTRUCT;
 
main()
{
        register IOSTRUCT *ioptr;
 
        ioptr = (IOSTRUCT *)Iorec(0);
        ioptr->ibufhd = 0;
        ioptr->ibuftl = 0;
        ioptr->ibuflow= 0x40;
        ioptr->ibufhi = 0xc0;
        ioptr->obufhd = 0;
        ioptr->obuftl = 0;
        ioptr->obuflow= 0x40;
        ioptr->obufhi = 0xc0;
        exit(0);
}
 
------------------------ cut - here ---------------------------------
table
 !"#$%&'()*+
,-./0123456
789:;<=>?@A
BCDEFGHIJKL
MNOPQRSTUVW
XYZ[\]^_
begin 777 FLSRS2.PRG
M8!H   #D          @   ":             $*%(&\ !"/(    Z")H !C3a
MZ  <3KD   "23OD    @2I\_/ !,3D$@;P $,B\ "# O  I(P%. ;P  "!#!a
M4<C__$* 3G4@;P $,"\ "$H09@  !D* 3G6P&&;R( A3@$YU(]\   #D3D$Oa
M.0   .1.=2/?    Y$Y-+SD   #D3G4CWP   .1.3B\Y    Y$YU3E8  $CGa
M 01"5S\\  Y.N0   ()4CRI 0FT !D)M  @[? !   H[? #   Q";0 40FT a
M%CM\ $  &#M\ ,  &D)73KD    @2I],WR  3EY.=5]?97AI=   H@     @a
M7V5X:70   "B     "!?7W-T87)T *(      %]?8F%S90  H0    #H7VENa
M9&5X  "B     $9?<W1R8VAR *(     1E]G96UD;W, H@    !B7V)I;W, a
M  "B     ')?>&)I;W,  *(     @E]B;&MF:6QLH@     H7VUA:6X   "Ba
4     )(    (#@9(" @(" @6-   a
 a
end

csch@tub.UUCP (03/06/87)

You may also SIMPLY do:

while (Bconstat(1))
	Bconin(1);

That's --not so fast--, but what are msec. when you're running 300 Bd. systems
????????

:-)

Clemens


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Contact via:

csch@tub.uucp 

from the US: ...!pyramid!tub!csch
from Europe: ...!unido!tub!csch
Bitnet:      csch@db0tui6 = tub.bitnet

tel.: +49-30-393-3574
      +49-30-332-4015

tlx.: (west-germany) + 186672 rdt d
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~