请教高手:VB MSComm接受数据不全
frmMain.ctrMSComm.InBufferSize = 1024
frmMain.ctrMSComm.OutBufferSize = 512
frmMain.ctrMSComm.InputLen = 0
frmMain.ctrMSComm.InBufferCount = 0
frmMain.ctrMSComm.RThreshold = 1
'*****************************************
'此处添加处理接收的代码
'*****************************************
frmMain.ctrMSComm.InputMode = comInputModeBinary
intInputLen = frmMain.ctrMSComm.InBufferCount
Debug.Print intInputLen
ReDim bytInput(intInputLen)
bytInput = frmMain.ctrMSComm.Input
发送12组十六进制数据,利用MSComm接收只能收到8组.但发送8组以下的数据,接收正常.请问是为什么?急!再此先谢过各位!
[解决办法]
Private Sub ctrMSComm_OnComm() Dim bytInput() As Byte Dim intInputLen As Integer Select Case frmMain.ctrMSComm.CommEvent Case comEvReceive If blnReceiveFlag Then If Not frmMain.ctrMSComm.PortOpen Then frmMain.ctrMSComm.CommPort = intPort frmMain.ctrMSComm.Settings = strSet frmMain.ctrMSComm.PortOpen = True End If '此处添加处理接收的代码 frmMain.ctrMSComm.InputMode = comInputModeBinary intInputLen = frmMain.ctrMSComm.InBufferCount ReDim bytInput(intInputLen) bytInput = frmMain.ctrMSComm.Input Call InputManage(bytInput, intInputLen) Call GetDisplayText Call display If Not blnAutoSendFlag And Not blnReceiveFlag Then frmMain.ctrMSComm.PortOpen = False End If End If End SelectEnd Sub
[解决办法]
楼主看看这个:http://download.csdn.net/source/1262066
这是一个用MSComm控件编写的串口调试器。
[解决办法]
http://download.csdn.net/source/1498637
http://download.csdn.net/source/1498644
[解决办法]
感觉好别忘了给个review(评论),谢谢!