我从pc向下位机发送数据 协议是规定好的 比如发送一个字符串00 00 01 01 00 00 00. 下位机会自动返回一串数据 我需要根据返回的数据的值做个shape显示  如果做到让上位机程序不断的发送数据来读取下位的寄存器的值呢 相当于对下位机寄存器的值做监控,如果值改变了 上位机pc的shape要显示出来 比如颜色的改变之类  谢谢

解决方案 »

  1.   

    LZ:
    我从pc向下位机发送数据 协议是规定好的
    那具体协议如何?请叙述明确。
    如果做到让上位机程序不断的发送数据来读取下位的寄存器的值呢
    下位机寄存器的值必须由下位机根据上位机指令返回,上位机才能读取进行数据处理。这也需要具体的通信协议和数据协议。
      

  2.   

    协议我觉得可以不用讨论 现在需要实现的功能就是通过pc的vb程序来实时监控下位机的寄存器的值 下位机值变化的时候 程序要做一个显示来提示 比如一个红灯之类的   读取寄存器的数据是这样子的000005001c00110100 如果读取的值是 FF00 正确应该返回800003001C00FF 主要是实现实时监控的功能  跟协议没什么关系了
      

  3.   

    使用MSCOMM控件,设置好它的各项属性需对应你不想讨论的通信和数据协议,打开MSCOMM控件后,用TIMER控件不停地执行你想发送的指令给下位机.然后通过MSCOMM控件的ONCOMM事件接收下位机返回的数据,依据你的通信和数据协议来处理数据,最后达到你想要的目的.目前只能提供这些意见.
      

  4.   

    首先要定义通信协议.协议规定了你的数据如何发送和接收.
    如果说搞通信的和协议毫无关系,那是非专业人士头脑.
    最简单的通信也需要通信协议.至于你数据发送和接收MSCOMM.INPUT 或 .OUTPUT就可以完成任务.要检测单片机某寄存的变化,单片机里头一定要写程序.把值赋予串行发送.就这么简单.