我连接外接设备了,收到数据会返回“OK”的
串口程序是用SPCOMM控件的。然后做串口的时候,连接上马上运行自己的程序,打开串口、发送数据,但是收不到返回信息“OK”(如果串口没打开或者写串口错误的话,都会返回错误信息的,可是没有。单步调试也没问题)
但是我用串口调试工具打开串口然后马上关掉,再用自己的程序打开串口、发送,就可以收到返回信息了(1)请问有没有人知道这是什么情况,什么问题
(2)请问有调试方法,可以看看打开串口之后的串口信息么。
好再加分~
谢谢!~

解决方案 »

  1.   

    很可能是波特率的问题。 不同的串口设备,必须设置合适的波特率。我以前做过一个“短信群发/收”软件,使用西门子手机或 GMS Modem, 两种设备其波特率不是同的,后者可以是 115200 。
      

  2.   

    可能是超时设置问题
    你要获得“打开串口之后的串口信息”,什么信息呢?
    可能用Api函数获取一些信息,如GetCommState,GetCommTimeouts
      

  3.   

    可以设置在中间加2个memo.像串口调试助手一样,一个现实发送的内容,一个现实接受的内容,发送的内容在发送语句后加入到memo,接受语句直接放在SpComm1ReceiveData第一条.我觉得楼上是有道理的,因为打开串口助手后,可能改变了你某些串口的参数,导致之后在程序中能正常收发.如果程序中有改变串口参数的内容,检查一下,是不是哪里写失误了.
      

  4.   

    其实是SPCOMM控件有问题啊,我哭~
    后来换成window系统的函数打开串口,写串口就OK了
    不过还是感谢大家的热心