Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge

16550 FIFO einschalten

Ahnungslos5 / 2 Antworten / Flachansicht Nickles

Wie kann ich den FIFO des 16550 einschalten?
Ich brauche da ein kleines (Free)BASIC-Programm, das die Register des 16550 so verfummelt das der FIFO benutzt wird.
Es geht um eine kleine Steuerungs-Bastellei.
Meine Hardware ist ein ITX-Motherboard.
Betriebssytem ist FreeDOS, also kein Windows...
wo ich mal eben die bla.INI oder die Registry verfummeln könnte.

bei Antwort benachrichtigen
Andreas42 Ahnungslos5 „16550 FIFO einschalten“
Optionen

Hi!

Das läuft über direktes Ansteuern des Bausteines über Portadressen und dem Setzen von entsprechenden Bits.

Die Umsetzung ist bei mir (unter DOS mit TurboPascal) schon einige Jahre her, so dass ich das auch nicht mehr aus dem Ärmel schütteln kann. Ich habe damals den grossen "PC-Intern 4" Schmöker vom M. Tischer. Ich keine da wäre das beschrieben gewesen.

Online habe ich mit einer Google suche, die folgende Seite aufstöbert: http://www.lammertbies.nl/comm/info/serial-uart.html
Dabei hatte ich nach folgenden Suchbegriffen gesucht: use FIFO 16550

Bis dann
Andreas

PS: ich habe doch noch Sourcen auf meinem Notebook. Da ist sogar eine Routine darunter, welche die FIFOs aktiviert. Villeicht hilft es dir ja zusammen mit der Googlesuche und dem Oben eingefügten Link weiter.

{Initialisierungsproceduren:}
procedure OpenCOM1;
var r:registers;
begin
{COM1 für SPS-Kommunikation verwenden}
SPS_COM:=0; {(COM2: DX:=1)}

r.ah:=0; {Funktion 0 des Interupts $14 wählen}
r.dx:=SPS_COM; {Schnittstelle COM1 gewählt }
r.al:=128+64+32+16+8+2;
{128+64+32: 9600Baud
128+64 : 4800Baud
16+8 : gerade Paritaet
2 : 7 Bit}
r.ds:=0; {Vorbelegung laut Online-Hilfe}
r.es:=0; {ditto}
intr($14,r);

{FIFOs einschalten:}
port[$3f8+2]:=4+2+1;
{ 1: FIFOs einschalten
2: Empfangspuffer löschen
4: Sendepuffer löschen}


{Serielle Schnittstelle als Gerät öffnen:}
assign(COM1out,'com1');
rewrite(COM1out);
assign(COM1in,'com1');
reset(COM1in);
end;

Hier steht was ueber mein altes Hard- und Softwaregedoens.
bei Antwort benachrichtigen
Thanks Ahnungslos5