串口问题(100分)

  • 主题发起人 主题发起人 muyi
  • 开始时间 开始时间
M

muyi

Unregistered / Unconfirmed
GUEST, unregistred user!
做了一个串口程序,从仪表读取数据,仪表为连续发送数据,格式为“xxxxxx=xxxxxx=”其中等号为分隔符,x为数据,用spcomm控件,波特率为2400(仪表的波特率),后来换了仪表,数据格式为“1、02(XON),开始;2、+或-,为符号位;3、数据高位;......;8、数据低位;9、小数点位数,从右到左;10、异或校验高4位,11、异或校验低4位,12、03(X0ff)结束。
现在新仪表还是连续发送,spcomm的接收事件却没有接收到数据,这是为什么,改怎么
设置呢??????
 
现在新的仪表用超级终端却可以正常显示接收的数据,超级终端又是怎么实现的呢??
 
首先你要知道SPCOM是否接收到了数据,也就是要在程序中设断点观察,如果收到了数据,你再看看你的处理过程。如果没收到数据,看看波特率设置是否正确,把RTSCONTROL设为RtsTransmissionAvailable和DTRCONTROL设为DtrHandshake,再试试吧。
 
检测波特率、停止位、校验位,流控制。
 
串口通讯协议是每个仪器不一样的,你最好接收一个跟原来的仪器接收的数据对比,然后再来处理,不然你的问题不可能处理,我在一个医院的一个科室就是这样,为每一个仪器编程
 

Similar threads

回复
0
查看
1K
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
897
SUNSTONE的Delphi笔记
S
后退
顶部