axMSComm1.Output”引发了“System.Runtime.InteropServices.COMException”类型的异常
axMSComm1.Output”引发了“System.Runtime.InteropServices.COMException”类型的异常
使用axMSComm1控件接受或发送数据时,出现异常 ,但是不报错,接受数据后 接着axMSComm1.Output输出指令,但是接受方没反应,求解释
private void axMSComm1_OnComm(object sender, EventArgs e)
{
axMSComm1.InputMode = MSCommLib.InputModeConstants.comInputModeText; //以文本形式接收数据
axMSComm1.RThreshold = 1; //设置为接收缓冲区每接收一个字符将引发一次OnComm事件
axMSComm1.InputLen = 0;//清除接收缓冲区
axMSComm1.DTREnable = true; //置DTR有效
axMSComm1.RTSEnable = true; //置RTS有效
string data = axMSComm1.Input.ToString();
OnchangedText1(data);
}
public void GetComm()
{
// AxMSCommLib.AxMSComm com; //定义MSComm控件变量
axMSComm1.CommPort = 1; //设定串口号
if (axMSComm1.PortOpen==true)
{
axMSComm1.PortOpen = false; //若该端口已经打开,则关闭该端口
}
axMSComm1.PortOpen = true;
axMSComm1.RThreshold = 1; //当接收到数据时就触发OnComm事件
//设置参数:数据传输速率为9600bit/s,没有奇偶校验,数据位是8位,停止位是1位
axMSComm1.Settings = "9600,n,8,1";
axMSComm1.Handshaking = MSCommLib.HandshakeConstants.comNone; //没有使用握手协议
axMSComm1.InputMode = MSCommLib.InputModeConstants.comInputModeText;//文本形式取回
axMSComm1.InputLen = 0; //当设置为零时,在Input可用时读取所有的数据
// axMSComm1.OnComm += new System.EventHandler(this.OnComm); //OnComm事件发生,加入列表
}
private void Form1_Load(object sender, EventArgs e)
{
GetComm();
}
private void button1_Click(object sender, EventArgs e)
{
axMSComm1.Output = "-";
}