vb中的mscomm控件获取数据问题?帮我改该代码,拜托各位高手了

请问我怎么写mscomm控件获取串口数据?SelectCaseMSComm1.CommEventCasecomEvReceiveDoDoEventsbuffer$=buf... 请问我怎么写mscomm控件获取串口数据?
Select Case MSComm1.CommEvent
Case comEvReceive
Do
DoEvents
buffer$ = buffer$ & MSComm1.Input
Loop Until InStr(buffer$, Chr$(32))
Text1.Text = buffer$
end select
这段代码遇到空格就把值赋值给text1.tex了
刚才开始能获取到想要的,正确数据,可是我多获取几次数据就有错误了,不是我想要的结果了,

我的意思是想,遇到&字符就开始存放数据,遇到空格字符就说明结束了,在把这两个中间的值赋值给text1.text,请问要怎么实现?
好象不行 提示一个错误

有没方法可以遇到&符号开始计算,遇到空格就结束

请问二楼的朋友,你自己测试过吗,我怎么不行?
MSComm1.RThreshold这个要设置成多少?
展开
 我来答
唯漠情
2008-06-12 · TA获得超过3383个赞
知道大有可为答主
回答量:5510
采纳率:62%
帮助的人:2488万
展开全部
InStr(buffer$, Chr$(32))这个函数用的不对,该函数返回的应该是一个整数值,你再查下资料.

试用mid函数,mid(buffer$,len(buffer),1)=" "
百度网友2b0dc49
2008-06-12
知道答主
回答量:18
采纳率:0%
帮助的人:7.6万
展开全部
private beginget as boolean

Select Case MSComm1.CommEvent
Case comEvReceive
beginget=false
Do
DoEvents
if beginget=false then
buffer1 = MSComm1.Input
if buffer1 ="&"then
beginget=true
endif
endif
if beginget=true then
buffer$=buffer$& MSComm1.Input
if InStr(buffer$, Chr$(32)) > 0 then
beginget=false
exit do
endif
Loop
Text1.Text = buffer$
end select

柳少爷
湖北武汉
2008年6月12日
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式