spcomm控件中奇偶效验的问题(100分)

  • 主题发起人 主题发起人 cugb_huan
  • 开始时间 开始时间
C

cugb_huan

Unregistered / Unconfirmed
GUEST, unregistred user!
规定单片机里当奇偶效验位为1时,则发送的是地址.为0,则发送的是数据.那么通过spcomm怎么能判断PC接受的是地址还是数据呢?
 
呵呵,楼主的问题有意思,我们一般这样做

1、SPCOMM的奇偶效验位先为1,给单片机发送地址,单片机响应返回地址或其他标志数据,然后PC改奇偶效验位为0,给单片机发送数据。

2、如果单纯从SPCOMM接收到的数据是没法判断是地址还是数据的。

3、PC一般不需要判断接收到的数据是地址还是数据,一般通过通讯协议来规定上下位机的交互方法。
 
to nicai_wgl
那好比如果单片机给我发送:01(第一单元地址编号)01(第一单元检测的物品号)
那我怎么分辨哪个01是我需要的呢?
 
各位大哥救命啊,我真的很想知道啊
 
那大家能给我做的东西一点思路吗?
是PC机控制多个单片机工作的,每个单片机都会返回给PC机不同的数据,这些数据显示在不同的edit里面,因为单片机分属不同的单元,所以经常有不同的单片机给PC机发送数据。那我应该怎么做才能不使数据处理错呢?
 
......这里就没人能给我提示么?
 
由你来定义格式就行了比如:
01开头是地址 02开头的是数据,具体格式可以灵活设定
 
呵呵,现在问题是,不同的单片机给上位机传数据时,数据会出现在不同的地方,能不能这么做:当rbuf=单片机传输的地址的时候,rbuf[i+1]出现在我需要的地方?
 
TO cugb_huan 你是在那里下载的组件。
能否帮个忙把你的组件给我一下。
忽用 。我在网上下了几个都用不了。
Email:gelanglsj@126.com
QQ:58750666
同时有这个组件的各位大虾们给小弟用一下。
看到给我回一下
 
关键的地方是在于:应该是上位机作为主动方,下位机作为被动方.
1、SPCOMM的奇偶效验位先为1,给单片机发送地址,单片机响应返回地址或其他标志数据,然后PC改奇偶效验位为0,给单片机发送数据。//注意是上位机主动改变校验位的,而不是被动的修改

2、如果单纯从SPCOMM接收到的数据是没法判断是地址还是数据的。

3、PC一般不需要判断接收到的数据是地址还是数据,一般通过通讯协议来规定上下位机的交互方法。
 
后退
顶部