各位大侠,我亟待解决如下问题,请指点:
原来在Delphi7下使用Spcomm控件编写的串口通讯程序,在pC机经RS232/485转接口后控制外端设备运行没有任何问题;
问题在于当PC机上扩展了一个RS485,使用扩展的RS485和设备端的RS485通信,结果数据不能发送……
试问,这是何故?如何解决?假如使用哪个其他的控件或者直接运用API函数编程可以实现,那么能否提个醒,给个思路?跪求!亟待!
多谢各位大侠了……

解决方案 »

  1.   

    pc机的串口是232的,如果你是从pc机串口出来再接一个232/485转换的话,那完全是硬件的事,从你软件角度就是操作一个232串口需要注意的是流控,spcomm的话,默认是开了软流控而没开硬流控的.如果你数据阻塞发不出去,试试打开硬流控
      

  2.   

    恩,假如是USB转设备端的485呢,是不是就相当于对485编程啊?
    还有,上面的485编程还没有解决呢,望各位继续啊。
    不知道为什么,232转485的时候没有问题,但是485对485的时候程序总是触发串口的OnReceiveError事件,何故?
      

  3.   

    1.确定你打开的端口号是正确的。
    2.写一个通讯程序,同时打开2个端口,一个发,一个收,测试是否正常,先用232测试,然后用232-485模块,最后用的PCI卡。
    3.USB转换的232、485端口稳定性不好,不建议使用,还是使用232-422/485转换模块,或者PCI卡。
    4.485通讯只有两根线有效,一个发,一个收,检查线路是否接反。
    5.一般485模块或者卡同时兼容422,422是4根线,4852根线,看好说明书,根据说明书进行短接。