串口接收数据包的问题 点击:769 | 回复:0



jiangbin1937

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 60回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2007年6月04日
发表于:2007-09-17 11:04:00
楼主
我使用MSComm控件来串口通讯,有两个问题。   
    
  1。   
  设置属性   
  InBufferSize:1024 
  OutBufferSize:512   
  InputMode:1   
  InputLen:0   在接收函数中会改变
  RThreshold:1,因为串口接收的数据最少为1个字节   
  SThreshold:0   
  其余的都是缺省的设置。   
    
  我要从串口里面接收1~40个字节不等的数据。   
  发现的问题是,当接收多字节数据的时候,会截断。比如说吧,要接收40个字节,那么控件的GetCommEvent()==2事件会连续来两次,第一次收到8个字节,紧接着第二次收到32个。   
  请问这个有解决的办法么?   
    
    
  2。我想达到这个功能,程序向串口发送一个数据,那么它应该很快收到回复,如果长时间比如5秒没有收到回复就说明发送的数据丢失或者通道本身有问题,需要退出程序。   
  请问,如何设置MSComm控件,来达到这个定时的目的?   
    
  谢谢! 


热门招聘
相关主题

官方公众号

智造工程师