毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> net技术 >> 正文

c#进行com口编程无法收到响应数据 第2页

更新时间:2014-8-12:  来源:毕业论文
            foreach (byte b in buf)
            {
                builder.Append(b.ToString("X2") + " ");
            }

            //追加的形式添加到文本框末端,并滚动到最后。  
            Console.WriteLine(builder.ToString());
            //修改接收计数  
            Console.WriteLine("Get:" + received_count.ToString());

        }

        void sendData(string data)
        {
            //定义一个变量,记录发送了几个字节  
            int n = 0;
            List<byte> buf = new List<byte>();//填充到这个临时列表中  
            foreach (byte item in data)
            {
                buf.Add(item);
            }
            //转换列表为数组后发送  
            comm.Write(buf.ToArray(), 0, buf.Count);
            //记录发送的字节数  
            n = buf.Count;
            send_count += n;//累加发送字节数
        }
        void close()
        {
            comm.Close();
        }
        static void Main(string[] args)
        {
            Test2 t = new Test2();
            try
            {

                while (true)
                {
                    Thread.Sleep(3000);
                    Console.WriteLine("发送数据");
                    t.sendData("010300000001840A");
                }
            }
            finally
            {
                t.close();

            }
        }
    }
}
字符串转16进制错误
01
03
分别是一个字节
不能把string转char数组,然后再转
那样变成0,1,0,3分别当做字节在发送
byte[] bdata = new byte[8];
bdata[0] = 0x01;
bdata[1] = 0x03;
bdata[2] = 0x00;
bdata[3] = 0x00;
bdata[4] = 0x00;
bdata[5] = 0x01;
bdata[6] = 0x84;
bdata[7] = 0x0A;
comm.Write(bdata.ToArray(), 0, bdata.Count);

foreach里,你把每一个字符都转byte,于是你发送的是00,01,00,03....
你应该每2个字符转byte

上一页  [1] [2] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。