485只是一种用RS232串口的通讯协议吧?
////////////////////////////////////////////////////////////////////////
程序放电脑和放工控上好像都没什么区别吧?
/////////////////////////////////////////////////////////////////////////////////
你可以用读写串口函数,具体参考:http://www.vckbase.com/document/viewdoc/?id=1734这个例子比较全 在每一个发送接收函数前加上BOOL变量,就可以判断是否发送或接收成功。
///////////////////////////////////////////////////////////////////////////////////
有一个特别需要注意的一点,就是每次接收数据前,都要接收数据的数组赋值为0,免得影响下一次的接收。
///////////////////////////////////////////////////////////////////////////////////////这些你都注意了 那你的问题应该就解决了吧  

解决方案 »

  1.   

    新人初来乍到,不懂规矩,海涵,明天给吧,呵呵。谢谢 halibobo520 支持啦!485只是一种用RS232串口的通讯协议吧? 
    //////////////////////////////////////////////////////////////////////// 
    程序放电脑和放工控上好像都没什么区别吧? 
    -------------------
    你的说法没有错。
    我现在的问题是,工控机有485通讯模式,因此可以直接与外部设备互联,而不需要转接器。232/485转换器可以自动切换数据收发,因此不需要软件来完成数据收发切换,如果不用转换器,485收发切换需要软件完成。网上搜到的相关资料只是说485通讯需要注意收发,具体情况不太了解。
    你可以用读写串口函数,具体参考:http://www.vckbase.com/document/viewdoc/?id=1734这个例子比较全 在每一个发送接收函数前加上BOOL变量,就可以判断是否发送或接收成功。 
    /////////////////////////////////////////////////////////////////////////////////// 
    有一个特别需要注意的一点,就是每次接收数据前,都要接收数据的数组赋值为0,免得影响下一次的接收。 
    /////////////////////////////////////////////////////////////////////////////////////// 
    ------------------------------------
    数据读写,经过测试没有什么问题。主要是485要求半双工,不能同时读写,怎样实现这种半双工的通讯。我用信号量同步,表面上可以保证读写分时进行,但并不能真正解决问题。盼高手指点,分不够可以加。