用SPCOMM控件写了一个与单片机通讯的程序,在我这里经测试工作良好,但是发给客户后,经客户使用出现能发送代码,却接受不到代码的现象,并且出现使用我的软件后,用串口精灵测试都无法接收回串口返回代码了(整个串口的接受部分死掉了)。为什么会在我这里测试能通过,而到了客户那边就不好使了呢?我很纳闷啊,是不是和SPCOMM控件有关,或者别的原因呢?我真是想不到为何了,有这方面开发经验的朋友,希望指点一二,不胜感激!!!

解决方案 »

  1.   

    >>用串口精灵测试都无法接收回串口返回代码了(整个串口的接受部分死掉了)。
    检查其它原因,就我知道,spcomm 是有些小bug, 但不会 :整个串口的接受部分死掉了有时客户提供的消息,并不准确,最好,你能在程序加入一些 log, 记录每次通信情况。我遇过只能通信第一次,后面就不行了,关闭spcomm,再重打开,又可以通信一次
      

  2.   

    to快乐老猫:其实客户那边是用串口精灵进行测试,同时也用单片机电路进行了测试(地线问题我想应该是没有问题的,因为客户那边对单片机硬件比我熟悉得多),但是结果都一样,能发送代码而不能接受代码,所以我就觉得是不是spcomm控件存在着bug?或者别的非编程原因呢?但是我始终都找不到原因
      

  3.   

    TO  neulxg:
      客户对通讯有多熟悉?有很多时候,偏偏是狠简单的问题被复杂化了。你必须把客户按照弱智儿童对待,告诉他们如何分析问题。
        他们不是有串口精灵么?叫他们用串口精灵监视你的程序发送的数据,如果有问题,换线缆、换计算机、更换测试环境(去一个距离车间远点的地方,比如经理办公室)。当然还要检查他计算机是否有病毒、串口的硬件参数等问题。
        不要过分相信串口精灵,也许他也有问题,我曾经就因为串口精灵出问题(不知道是不是因为病毒感染过,反正那个程序不是我保管的),一直认为是我自己的错误。最好还是自己写段小程序监视端口。你可以把你的测试程序发给用户。
      

  4.   

    谢谢各位,问题已经解决,服了,原来是我程序没打包的缘故。我只是直接提供delphi生成的可执行文件,但是我用未打包的压缩(rar压缩)文件在别的机器上进行测试,顺利通过,但是为何经过邮箱传送到客户那里就会有问题了呢?我还真是想不明白了