打开Demo窗体时先初始化SerialPort对象private SerialPort _ComPort = new SerialPort();private void InitializeObject()
{
InitPortsToList(); //初始化SerialPort对象
this._ComPort.NewLine = "\r\n";
this._ComPort.RtsEnable = true;
this._ComPort.DataReceived += new SerialDataReceivedEventHandler(ComPort_DataReceived);
}然后打开串口COM1private void btnConnect_Click(object sender, EventArgs e)
{
//根据当前串口对象,来判断操作
if (this._ComPort.IsOpen)
{
//打开时点击,则关闭串口
this._ComPort.Close();
}
else
{
//关闭时点击,则设置好端口,波特率后打开
this._ComPort.PortName = this.cmbPort.Text;
this._ComPort.BaudRate = int.Parse(this.cmbBaudrate.Text);
try
{
this._ComPort.Open();
}
catch (Exception ex)
{
//捕获到异常信息,创建一个新的comm对象,之前的不能用了。
this._ComPort = new SerialPort();
this._ComPort.PortName = this.cmbPort.Text; //COM1
this._ComPort.BaudRate = int.Parse(this.cmbBaudrate.Text); //9600
this._ComPort.Open();
//现实异常信息给客户。
MessageBox.Show(ex.Message);
}
}
}打开COM1之后,就发送要打印的内容和打印机的指令给串口 List<byte> buffer = new List<byte>();
byte[] tmp = { 10 }; //这里的10是厂家说明书里的命令 16进制是0x0A,10进制是10,表示打印并换行 string content = this.txtContent.Text.Trim(); //这里是打印的内容
byte[] dataContent = Encoding.Default.GetBytes(content);
buffer.AddRange(dataContent);
buffer.AddRange(tmp);
byte[] data = buffer.ToArray(); this._ComPort.Write(data, 0, data.Length);
this._ComPort.Close();
最后write之后,打印机没有反应,我没接触过串口编程,不知道到底问题在哪里,请哪位朋友有碰到过类似问题的解答一下,打印机是热敏打印机
{
InitPortsToList(); //初始化SerialPort对象
this._ComPort.NewLine = "\r\n";
this._ComPort.RtsEnable = true;
this._ComPort.DataReceived += new SerialDataReceivedEventHandler(ComPort_DataReceived);
}然后打开串口COM1private void btnConnect_Click(object sender, EventArgs e)
{
//根据当前串口对象,来判断操作
if (this._ComPort.IsOpen)
{
//打开时点击,则关闭串口
this._ComPort.Close();
}
else
{
//关闭时点击,则设置好端口,波特率后打开
this._ComPort.PortName = this.cmbPort.Text;
this._ComPort.BaudRate = int.Parse(this.cmbBaudrate.Text);
try
{
this._ComPort.Open();
}
catch (Exception ex)
{
//捕获到异常信息,创建一个新的comm对象,之前的不能用了。
this._ComPort = new SerialPort();
this._ComPort.PortName = this.cmbPort.Text; //COM1
this._ComPort.BaudRate = int.Parse(this.cmbBaudrate.Text); //9600
this._ComPort.Open();
//现实异常信息给客户。
MessageBox.Show(ex.Message);
}
}
}打开COM1之后,就发送要打印的内容和打印机的指令给串口 List<byte> buffer = new List<byte>();
byte[] tmp = { 10 }; //这里的10是厂家说明书里的命令 16进制是0x0A,10进制是10,表示打印并换行 string content = this.txtContent.Text.Trim(); //这里是打印的内容
byte[] dataContent = Encoding.Default.GetBytes(content);
buffer.AddRange(dataContent);
buffer.AddRange(tmp);
byte[] data = buffer.ToArray(); this._ComPort.Write(data, 0, data.Length);
this._ComPort.Close();
最后write之后,打印机没有反应,我没接触过串口编程,不知道到底问题在哪里,请哪位朋友有碰到过类似问题的解答一下,打印机是热敏打印机
串口需要设置什么参数吗?我没接触过串口编程,完全不知道该如何入手