我正在编写一个与串行端口(主要是RS232,但在本例中我使用的是usb设备)通信的程序。现在,我在启用DTR时遇到问题。
private void CheckBox_DTR_CheckedChanged(object sender, EventArgs e)
{
if(COMport != null)
{
if (CheckBox_DTR.Checked)
{
COMport.DtrEnable = true;
}
else
{
COMport.DtrEnable = false;
}
}
}在我的这部分代码中,如果复选框被选中,我将启用DTR。当我检查引脚电压时,似乎一切正常,因为当我启用它时,电压会增加。但有一个问题:当我使用其他终端启用DTR时,设备会抛出一些信息,但当我使用我的程序执行此操作时,它不会发送这些信息。
正如您所看到的,其他终端在启用DTR时会发送一些附加信息。所以我不完全确定我应该做什么来接收来自设备的信息(我需要一些额外的代码还是什么)……
发布于 2019-05-14 04:03:26
通常,在使用DTR时,您需要打开硬件握手。我会尝试设置COMport.Handshake = Handshake.XOnXOff;。
根据MSDN here
数据终端就绪通常在XON/XOFF软件握手和请求发送/清除发送(RTS/CTS)硬件握手和调制解调器通信期间启用。
https://stackoverflow.com/questions/56109340
复制相似问题