首页 > 解决方案 > 串口“ACK 超时”

问题描述

我用 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;

            }

        }

标签: c#

解决方案


推荐阅读