大家好,自己在做一个串口编程时,有一个问题解决不了,就是用虚拟串口软件(VSPM)来测试自己的代码时,是可以收到数据了,但一连到硬件上,就没反映了,但是呢,用那个硬件的测试软件来测试,硬件应该是没什么问题了,这样一来,都不知道是哪个地方出了问题?特此求教!!我不知道我发的测试代码是否有问题,但不管怎样,通信协议还是符合的,总应该发回来一点数据吧,测试时,不管是设com.ReceivedBytesThreshold = 多少,当然,等于1时是近字符接收的,等于其他的时候是按字符数组接收的,但就是com.DataReceived事件没有响应,但用测试软件vspm测试时,不管用哪个,都是有反应的,能指明问题出在哪呢,非常感谢!! 

解决方案 »

  1.   

    是COM口问题吗?是否用的同一个COM口?
      

  2.   

    多谢大家哈,原因找到了,原来我以为发送的字节没有错,其实,错就在这里了,用串口调试工具接收了一上,一堆乱码。导致这种错误的原因是,发送是最好用发送byte[]类型的数据,这样,在串口调试工具里用十六进制显示时,显示的就是原始数据,如果原始数据是用十六进制表示的,这样比较方便。我原来是发送的字节,也过送了char[]的数据,结果硬件就没反应了,发byte[]的就可以了。用时还是注意一点吧。
    我原来用那个虚拟串口时,用了它的“显示原始数据”的功能,就把这一点给忽略了。