011
17.01.2016, 11:09 Uhr
holm
|
@susowa: Das was Du da beschreibt ist aber nicht das Prinzip sondern eine Fehlfunktion.
Ich habe mich vor langer Zeit mal mit einem ollen bei Conrad gekauften Epromer auseinander gesetzt, der auch so seine Probleme mit der seriellen Kommunikation hatte (ERPOG 27011 hieß das Ding und kam ursprünglich von Auerswald). Der Promer benutze einen 8048 als Prozessor der weder eine Uart noch irgend einen FIFO hat, die haten das mit Bitbanging zu Fuß programmiert. Das originale Bedienprogramm war in Basic geschrieben und funktionierte unter DOS bis zum 386/33, alles was schneller war machte Probleme, da der 27011 Pausen zwischen den Zeichen benötigte.
Ich habe damals die seriellen Schnittstellen der PCs untersucht, speziell unter Linux, FreeBSD und Onsite Unix SVR4.2. Alle konnten problemlos nach inaktivem RTS das Zeichen zu ende senden und dann abbrechen, keiner mußte den vorhandenen FIFO ausräumen. Das ist also eher ein Softwareproblem von DOS das Du beschreibst. Die Schnittstellen waren damals sogenannte AST-4 kompatible Karten mit Startech 16C650 und IMHO TI 16C750 32 und 64 Bytes FIFO). Der SIO ist in diesem Sinne überhaupt nichts vorzuwerfen da sie mit WR3 Bit5 =1 im Autoenable Modus die Flußsteuerung völlig korrekt in Hardware behandelt.
Gruß,
Holm -- float R,y=1.5,x,r,A,P,B;int u,h=80,n=80,s;main(c,v)int c;char **v; {s=(c>1?(h=atoi(v[1])):h)*h/2;for(R=6./h;s%h||(y-=R,x=-2),s;4<(P=B*B)+ (r=A*A)|++u==n&&putchar(*(((--s%h)?(u<n?--u%6:6):7)+"World! \n"))&& (A=B=P=u=r=0,x+=R/2))A=B*2*A+y,B=P+x-r;} Dieser Beitrag wurde am 17.01.2016 um 11:14 Uhr von holm editiert. |