Hallo, ich suche ein Tool, mit dem unter DOS die Register des UART angesprochen werden können. peziell geht es dabei um das Ein-/Ausschalten des FIFO's. Schöner wäre aber, wenn alle Register ausgelesen/gesetzt werden könnten. TD
Und jede beliebige DOS-Programmiersprache, einschliesslich QBasic/QuickBasic.
> Und jede beliebige DOS-Programmiersprache, einschliesslich > QBasic/QuickBasic. Eine Programmiersprache sehe ich nicht als Tool, wie ich es meine, an. Das ich alles mögliche selbst Programmieren kann, weiss ich auch. Da aber eine schnelle Lösungsfindung gefragt ist, wäre ein fertiges Tool, dass ich in 3 Minuten (Idealfall ;) runterlade und starte, besser, als eine Eigenprogrammierung, die (hier) einige Stunden dauern kann.
Welchen Sinn soll es aber haben, einzelne Bits in den Registern der UART zu befummeln, wenn jedes danach gestartete DOS-Programm die UART eh neu initialisiert? Außerdem sind die FIFOs der 16550 unter DOS sowieso inaktiv, es sei denn, ein Programm aktiviert sie entsprechend. Und Programme, die nichts vom 16550 verstehen (die meisten DOS-Programme also), sondern eine 8250 erwarten, die könnten mit den im FIFO-Betrieb auftretenden Bedingungen eh nichts anfangen (ein Interrupt für mehr als ein empfangenes Zeichen ...). Oder geht es Dir gar nicht um DOS, sondern Du meinst die Windows-"Eingabeaufforderung", und Du möchtest die FIFO-Einstellungen des Windows-Devicetreibers verändern? Dafür bietet der Devicetreiber im Gerätemanager eine GUI, bei der nicht nur die FIFOs abgeschaltet werden können, sondern sogar die Triggerschwellen (bei aktivem FIFO) festgelegt werden können. Was also genau hast Du vor?
@Rufus Danke für die Erläuterungen. Ein Kollege hat folgendes Problem (mit dem ich mich nicht näher befasst habe): Eine Programmiersoftware (DOS) verlangt laut Handbuch einen 8250 UART. Wir haben aber nur Rechner mit 16550 (welche ja FIFOs haben). Auf all diesen Rechnern funktioniert nun das Programm nicht richtig (Meldung: "Programmierspannung liegt nicht an", obwohl diese am Gerät (SPS) zu messen ist). Mein Kollege meint nun, es könne daran liegen, dass die Software nicht mit dem FIFO klarkommt. Daher wollte er diesen vor Programmstart deaktivieren. Das die FIFOs unter DOS generell deaktiviert sind, wusste ich nicht. Ich habe mich (wie schon erwähnt) noch nicht näher mit der Sache befasst, meine aber, dass das Problem an anderer Stelle liegt. TD
Die 16550 ist nach Reset funktionskompatibel zur 8250. Wenn die Software auf neueren PCs nicht funktioniert, wird das andere Gründe haben: a) kein DOS, sondern virtuelle DOS-Umgebung unter einem Betriebssystem? b) Rechner ist deutlich schneller als die, die noch mit 8250 bestückt wurden, und Software ist so schlecht geschrieben, daß das Probleme bereitet. c) Verkabelung der seriellen Schnittstelle könnte fehlerhaft sein, vielleicht wird ja ein "vergurkter" 9-zu-25-Adapter verwendet. d) Die "alte" serielle Schnittstelle ist eine Original-IBM-Schnittstellenkarte für einen IBM PC bzw. XT. Die unterstützt nicht nur die einfache RS232-Betriebsart, sondern kann auch als 20mA-Stromschleife konfiguriert werden (was dann auch andere Pins am 25poligen Stecker nutzt). Das können neuere Schnittstellen mit 9poligem Stecker nicht. Die 16550 wird in PCs seit der ersten Hälfte der 90er Jahre standardmäßig verwendet, das dürfte Vermutungen über das Alter der Software zulassen ... Der erste Rechner, in dem ich der 16550 begegnete, war ein IBM PS/2 Modell 30/286, ein 10MHz-286er. Mit dem hatte ich etwa 1990 zu tun.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.