关于VB里面MSCOMM控件,input接收到的数据是什么形式的啊,要把接受的数据分类处理啊,说得好追加分哦 20
我用MSCOMM控件,要接受一个51单片机发出的数据,里面应该包括一个18B20采集的温度数据,还有一些其他的数据,然后怎么把MSCOMM里面INPUT接受的数据分开啊,...
我用MSCOMM控件,要接受一个51单片机发出的数据,里面应该包括一个18B20采集的温度数据,还有一些其他的数据,然后怎么把MSCOMM里面INPUT接受的数据分开啊,还有,接收到的18B20数据要用picture画图。。厄。。一起说说吧。说得好追加20分哦
厄,那有没有知道18B20发出的数据格式啊。。厄 展开
厄,那有没有知道18B20发出的数据格式啊。。厄 展开
2个回答
展开全部
1)如何设置input模式
MSCOMM有InputMode属性,有2个值
comInputModeBinary以二进制模式接收
comInputModeText以字符串模式接收
2)如何处理INPUT
MSCOMM有RThreshold属性,该属性用来设置input多少个字节后产生oncomm事件
处理方法1:
如果每次接收的数据字节大小一样,可以设置RThreshold为接收数据字节大小
然后在oncomm中处理input
处理方法2:
如果每次接收的数据字节大小不一样,添加TIMER控件,在timer的事件中处理input
先判断接收多少个数据,然后判断标记量以此来分类处理
'以下代码表示处理接收了3个字节且第一字节为0xff的数据,
dim a() as byte
do
doevents
Loop Until comm1.InBufferCount >= 3
redim a(3)
a=comm1.input
if a(0)=&HFF then
msgbox "aa"
end if
3)数据画图
这种数据定协议的时候 应该设计为BCD码
如若不是,先将二进制转换为十进制 然后画图,画图的方法PITCURE控件都有
如何将二进制转换为十进制,网上比较详细 这里不写了
MSCOMM有InputMode属性,有2个值
comInputModeBinary以二进制模式接收
comInputModeText以字符串模式接收
2)如何处理INPUT
MSCOMM有RThreshold属性,该属性用来设置input多少个字节后产生oncomm事件
处理方法1:
如果每次接收的数据字节大小一样,可以设置RThreshold为接收数据字节大小
然后在oncomm中处理input
处理方法2:
如果每次接收的数据字节大小不一样,添加TIMER控件,在timer的事件中处理input
先判断接收多少个数据,然后判断标记量以此来分类处理
'以下代码表示处理接收了3个字节且第一字节为0xff的数据,
dim a() as byte
do
doevents
Loop Until comm1.InBufferCount >= 3
redim a(3)
a=comm1.input
if a(0)=&HFF then
msgbox "aa"
end if
3)数据画图
这种数据定协议的时候 应该设计为BCD码
如若不是,先将二进制转换为十进制 然后画图,画图的方法PITCURE控件都有
如何将二进制转换为十进制,网上比较详细 这里不写了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分数又不值钱,呵呵,可以是二进制也可以是文本形式的,看你自己定义,画图,可以用picturebox就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询