Hallo.
Ich hab eine klitzekleine C+±Applikation, die mir über eine Serielle schnittstelle ein paar Bytes an einen Drucker schickt.
Wenn ich das gleiche über C# versuche, funktioniert gar nichts.
Ich öffne den Port mit den richtigen Einstellungen. IsOpen liefert true zurück.
Dann schreibe ich
SerialPort port = new SerialPort(„COM1“, 9600, Parity.None, 8, StopBits.One);
port.Open();
…
port.Write("\x1B\x02\x11\x1B\x03"); //Start
ein serial-sniffer sagt mir, dass das Zeug meinen COM-Port verlassen hat. Nur der Empfänger reagiert nicht darauf. bzw. schickt er mir nichts zurück.
das ganze in c++:
char *start = „\x1B\x02\x11\x1B\x03“;
port.SendData(start, 0, strlen(start);
funktioniert aber.
Wenn ich zB ein port.WriteLine mache, hängt er mir halt ein \x0A an, aber ich komme auch nicht weiter.
So wirklich empfängt der Drucker meine Daten scheinbar auch nicht. Abgesehen davon dass er nichts zurückschickt, reagiert er auch nicht auf den gesandten Befehl.
Der Drucker ist übrigens ein Linx 4900.