我到底做错了什么,要这样惩罚我(Mscomm调试问题)

IceFlowser 2004-11-22 10:48:02
我通过COM传数据,运行收不到数据,我想设置一个断点来看一下错误出在哪里,我靠,设了以后居然能正常运行,我把断点去掉,又收不到数据了,如此反复几次,情况依旧,我一点办法也没有,大家给我评评理儿,我是到底做错了什么?
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
limit 2004-11-24
  • 打赏
  • 举报
回复
For i = 0 To DelayLoop '40000000
Next
换成
sdate = Now()
N = MSComm1.InBufferCount
Do While DateDiff("s", sdate, Now) < 8
If N >= 3 Then
Exit Do
Else
N = MSComm1.InBufferCount
End If
Loop
试试
IceFlowser 2004-11-23
  • 打赏
  • 举报
回复
试过了,它还是这样一如即往地这样运行着
tztz520 2004-11-22
  • 打赏
  • 举报
回复
For i = 0 To DelayLoop '40000000'先把这个延迟去掉
Next
IceFlowser 2004-11-22
  • 打赏
  • 举报
回复
Private Sub MSCommTracer_OnComm()
Dim i As Long
Dim BufferText As String
Dim Rtmp
Dim tempStr As String
Dim MScommInput As String
Dim mscomminputLen As Integer
Dim Tp As Variant
For i = 0 To DelayLoop '40000000
Next

MScommInput = MSComm.Input
mscomminputLen = Len(MScommInput)
MSCommTracer.InBufferCount = 0
labLen.Caption = "0"

RTB1.Text = MScommInput

MSCommTracer.InBufferCount = 0

If MScommInput <> "" And MScommInput <> vbCrLf Then
BufferText = BufferText & MScommInput
If MSCommTracer.InBufferCount <> 0 Then
Do
BufferText = BufferText & MScommInput
Loop Until MSCommTracer.InBufferCount = 0
End If
MSCommTracer.InBufferCount = 0
ReceiveStr = BufferText
Tp = Split(ReceiveStr, vbCrLf)
End If
End Sub

data bit:7
parity:none
flow control:Xon/RTS
HandShaking 0-comxlone
inbuffersize:1024
out:512
inputmode:0-cominputmodetext
tztz520 2004-11-22
  • 打赏
  • 举报
回复
你是怎么接收数据的?
gg137zeus 2004-11-22
  • 打赏
  • 举报
回复
延时问题?

863

社区成员

发帖
与我相关
我的任务
社区描述
VB COM/DCOM/COM+
c++ 技术论坛(原bbs)
社区管理员
  • COM/DCOM/COM+社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧