Problem mit LCD an Serieller Schnitstelle

09/09/2007 - 21:54 von Martin Bauer | Report spam
Hallo,

ich habe an meiner Seriellen Schnitstelle (COM1) ein LCD hàngen. Dieses
spreche ich mit der Klasse SerialPort an.

Das ganue funktioniert an sich auch einwandfrei, bis ich jedoch ein Programm
wie den Windows MediaPlayer, ein Spiel, etc. starte. Bei anderen Programmen,
wie z. B. den WindowsExplorer, IE, Office, etc. funktioniert es weiterhin.

Das Problem liegt darin, dass das Display dann irgendwelche Kryptischen
Zeichenfolgen und Zeichen anzeigt. Evtl, weil die Befehle, etc. nicht an
einem Stück gesendet werden. Ist jemanden ein Problem in diesem Bereich
bekannt bzw. hat ein àhnliches und eine Lösung parat?
 

Lesen sie die antworten

#1 Thomas Scheidegger [MVP]
09/09/2007 - 22:34 | Warnen spam
Hallo Martin


Seriellen Schnitstelle (COM1) ein LCD hàngen. Dieses
spreche ich mit der Klasse SerialPort an.
Das ganue funktioniert an sich auch einwandfrei, bis ich jedoch ein Programm
wie den Windows MediaPlayer, ein Spiel, etc. starte.




durch verànderte CPU-Lasten, (höhere) Prozess/Interrupt-Prioritàten und Multimedia-Operationen usw
àndert sich durchaus auch das Timing der seriellen Schnittstelle.
Je nach Protokoll könnte dies zu Fehlern führen...
(oder bei 'Echtzeit'-Anforderungen ggf ganz verunmöglichen)

Das Problem liegt darin, dass das Display dann irgendwelche Kryptischen
Zeichenfolgen und Zeichen anzeigt.



dies dürfte fast immer auf fehlerhaften ('optimistischen') Code zurückzuführen sein,
entweder deine C# Seite oder im LCD-Controller.

Grundsàtzlich gilt IMHO:
ohne einen guten Schnittstellen/Protokoll-Analyzer (in HW oder ggf eine Windows-Software)
ist meist kaum ernsthafte Programmierung/Fehlersuche rund um die serielle Schnittstelle möglich.

Das allermindeste beginnt etwa bei
http://www.microsoft.com/technet/sy...rtmon.mspx
um die IOs auf Ebene Win32 mal zu untersuchen.
(was noch làngst nicht dem Timing 'auf dem Kabel' entspricht)




Thomas Scheidegger - MVP .NET - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/

Ähnliche fragen