axMSComm头疼的问题比较纠结的,大侠们能帮我解决下?
--------------------编程问答-------------------- 开发串口相关的程序都用serialport类。在serialport的dataarrived事件中添加相应代码,如serialport.readexist()方法来读取串口数据http://topic.csdn.net/u/20100323/14/20cfa963-fd23-45a0-9a84-020a07f28f86.html --------------------编程问答-------------------- 问题是serialport这个类,我用过,是比较好用,但是我用这个类时,把程序运行起来了,对方的仪器设备的信号显示是断开的,我无语了,所以才选择用这个的,现在的问题就是,我如果发送数据才能让对方接收到,我测试2台电脑直接连接发送数据,我可以接收对方机器所发送的数据,对方接收不到我发送的数据。还有那位大侠能帮帮忙,求解 --------------------编程问答-------------------- 试了一整天,终于搞定了,哎 --------------------编程问答-------------------- /// <summary>
/// 接收一起数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void axMSComm1_OnComm(object sender, EventArgs e)
{
axMSComm1.InputMode = MSCommLib.InputModeConstants.comInputModeText;//以文本形式接收数据
axMSComm1.RThreshold = 1;// 接受数据的长度,当接收缓冲区中字符数达到该值时,激发OnComm 事件
dataAEROSET += axMSComm1.Input.ToString();
/*************************双向通讯由仪器设备传过来的数据***************************/
if (dataAEROSET.IndexOf("Q") > -1)
{
//Q 0001 1 14Q 0001 1 15
if (dataAEROSET.IndexOf("") > -1)//当发送指令给仪器设备之后它将再次发送一个指令过来,我们将剔除就ok()
{
dataAEROSET = dataAEROSET.Replace("", "");//
}
OnchangedText1(dataAEROSET);
if (dataAEROSET.IndexOf("") > -1)
{
string tmp = dataAEROSET;
dataAEROSET = "";
axMSComm1.Handshaking = MSCommLib.HandshakeConstants.comNone;//设置握手协议(发送的协议)
string str = GetOutputString(tmp);//根据设备传过来的样本号对应在lis系统中获取相应的样本所做的项目然后传入设备当中实现双向通讯
axMSComm1.Output = str;
OnchangedText2(str);
axMSComm1.Handshaking = MSCommLib.HandshakeConstants.comRTSXOnXOff;//设置握手协议(接收的协议)
}
/*************************双向通讯由仪器设备传过来的数据***************************/
}
else if (dataAEROSET.IndexOf("Q") == -1)//判断向仪器发送接受项目回馈(一定是做完的结果)
{
if (dataAEROSET.IndexOf("") > -1)//这个接受设备做好的项目传过来的值
{
GetData(dataAEROSET);
axMSComm1.Handshaking = MSCommLib.HandshakeConstants.comNone;//设置握手协议(发送的协议)
axMSComm1.Output = "";
axMSComm1.Handshaking = MSCommLib.HandshakeConstants.comRTSXOnXOff;//设置握手协议(接收的协议)
}
}
}
#region
补充:.NET技术 , C#