我用RS232 com电缆连接设备。但是,当我从设备向计算机发送数据时,计算机无法接收数据,并且设备显示消息“ ACK超时”。如何从设备获取数据。谢谢大家。
private void btnOpen_Click(object sender, EventArgs e)
{
try
{
serialPort1.PortName = comBoxPortNam.Text;
serialPort1.BaudRate = Convert.ToInt32(comBoxBaud.Text);
serialPort1.DataBits = Convert.ToInt32(comBoxDataBit.Text);
serialPort1.StopBits = (StopBits)Enum.Parse(typeof(StopBits), comBoxStopBit.Text);
serialPort1.Parity = (Parity)Enum.Parse(typeof(Parity), comBoxParityBit.Text);
serialPort1.Open();
proBar1.Value = 100;
}
catch( Exception erro)
{
MessageBox.Show(erro.Message,"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
dataIn = serialPort1.ReadExisting();
this.Invoke(new EventHandler(showData));
}
private void showData(object sender, EventArgs e)
{
if(chkUpdate.Checked)
{
txtReceive.Text = dataIn;
}
else if(chkAddOld.Checked)
{
txtReceive.Text += dataIn;
}
}