Я пытаюсь отправить ASCII caracters на принтер VideoJet Excel 170i, через кабель RS-232 (последовательный)C# последовательное соединение не работает
Когда я использую тестовую программу, у меня нет проблем с получением ответа из принтера я могу изменить состояние принтера.
Это код, который я сделал
public partial class Form1 : Form
{
private SerialPort port = new SerialPort("COM1");
private delegate void SetTextDeleg(string data);
public Form1()
{
InitializeComponent();
}
private void addtoText(string text)
{
this.richTextBox1.Text = this.richTextBox1.Text + "\n" + text;
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
port.BaudRate = 9600;
port.Parity = Parity.None;
port.StopBits = StopBits.One;
port.DataBits = 8;
port.Handshake = Handshake.None;
port.ReadTimeout = 2000;
port.WriteTimeout = 500;
port.DtrEnable = true;
port.RtsEnable = true;
port.Open();
port.DataReceived += DataReceivedHandler;
addtoText("Port is ready");
}
catch (Exception ex)
{
//Console.WriteLine("Error opening my port: {0}", ex.Message);
addtoText("Error opening my port: {0}" + ex.Message);
}
}
public void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
System.Threading.Thread.Sleep(500);
string indata = sp.ReadExisting();
this.BeginInvoke(new SetTextDeleg(DisplayToUI), new object[] { indata });
}
private void DisplayToUI(string displayData)
{
addtoText(displayData);
}
private void button1_Click(object sender, EventArgs e)
{
port.Write(tbxAscii.Text);
}
private void Form1_Leave(object sender, EventArgs e)
{
port.Close();
}
}
мне нужно отправить ASCII caracters на принтер, как
[1B][01][09]
Чтобы включить принтер в режиме печати.
Принтер должен отвечать, я не получаю ответа, и принтер не изменяет его статус.
У меня есть программа, предназначенная для проверки последовательного подключения, сделанного принтером, и я вижу, что все настройки в порядке (скорость передачи, порт четности ...) и действительно на порт COM1.
Так что я думаю, что мой порт.write не отправляет информацию на принтер ... или, может быть, я отправляю corrup info, и я не читаю ответ принтера.
Сладкий, он работает, я могу отключить его! Но я получаю [] [] [] [], поэтому, возможно, я пытаюсь, но байт в строку. – Insecurefarm
Да, добавлен код для чтения – esskar
Еще раз спасибо, он отлично работает! – Insecurefarm