导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]高手们帮帮忙,有关VB串口通信的问题![sdqdshixin]

 *第15899篇: [求助]高手们帮帮忙,有关VB串口通信的问题!

  
楼 主:sdqdshixin 2003年8月30日11:51
 [求助]高手们帮帮忙,有关VB串口通信的问题!
我正在用VB写一个上位机的监控程序,与51通信,但老是不能正常接收数据,不知道什么原因。请高手们看看,帮帮我!
我的MSCOMM设置如下:
Private Sub Form_Load()

With MSComm1
   If .PortOpen = True Then
      .PortOpen = False
       End If

      .CommPort = 1                '使用COM1
      .Settings = " 9600,n,8,1 "   '设置通信口参数
      .InBufferSize = 1024         '设置MSComm1接收缓冲区为1024字节
      .OutBufferSize = 1024        '设置MSComm1发送缓冲区为1024字节
      
      .InputMode = comInputModeText      '设置接收数据模式为文本形式
      
      .InputLen = 0                 '一次读出接收缓冲区中的所有数据
      
      .InBufferCount = 0            '清除接收缓冲区
      .OutBufferCount = 0           '清除发送缓冲区
      
      .RThreshold = 1               '设置接收一个字节产生OnComm事件
      .PortOpen = True
      .RTSEnable = True
     End With
End Sub
----------------------------------------
接收程序如下:
Private Sub MSComm1_OnComm()
Text2.Text = ""

Select Case MSComm1.CommEvent

Case comEvReceive

        ReceByte = ReceByte & MSComm1.Input
        Text2.Text = ReceByte
End Select
End Sub

我现在能给51发送控制指令,然后51给PC发回应数据,有130多个字符,可是不知道怎么回事,老是只接收了一部分数据,丢了20个字符,如果我用串口调试工具就可以完全接收,好奇怪啊,问题到底出在那里啊?高手帮帮我,我很急啊!

  
2楼:guest 2004年6月30日15:23
 .RThreshold = 130
 

.RThreshold = 130
 try again
  
3楼:guest 2004年7月15日11:56
 在windows计算机串口读取是有时间限
在windows计算机串口读取是有时间限制的,一般为5秒。如果传输超过,后面的数据就丢失
  
4楼:lenglianxi 2004年7月16日14:26
 是否返回的数据包含有\0,如果是,应设成BIN模式

>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:[求助]

[下一篇主题]:求教!!!!