当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,