用VB中的MSCOMM编个程序读取串口数据

大虾们,小弟要做个毕业设计,其中有一步是需要编写个程序来读取串口的数据,不需要很难的,只要能从串口把数据读出来就可以,大哥们帮帮我,最好能把每步的意思写出来.小弟谢过了.... 大虾们,小弟要做个毕业设计,其中有一步是需要编写个程序来读取串口的数据,不需要很难的,只要能从串口把数据读出来就可以,大哥们帮帮我,最好能把每步的意思写出来.小弟谢过了.
我这是为毕业设计所用 本人没什么基础 所以看不懂 能不能给出每一行代码的意思呢?谢谢
展开
 我来答
lightlya
2008-04-22 · TA获得超过191个赞
知道小有建树答主
回答量:80
采纳率:0%
帮助的人:61.5万
展开全部
Option Explicit'强制变量声明
Private Sub Command1_Click() '发送
Dim number As Integer'定义整型
Dim outbyte(0) As Byte '定义字节数组
number = Val(Text1.Text)'转为数值型
outbyte(0) = CByte(number) '转化为字节型
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.Output = outbyte '发送

End Sub'结束

Private Sub Command2_Click()'按钮单击事件
MSComm1.PortOpen = False'关闭串口
Unload Form1'卸载form1
End Sub

Private Sub Form_Load()'窗体载入事件
MSComm1.CommPort = 1 '设置串口为com1
MSComm1.Settings = "9600,n,8,1" '通讯参数 波特率 奇偶校验 数据位 停止位
MSComm1.InputMode = comInputModeBinary '二进制接收
MSComm1.PortOpen = True '打开串口
MSComm1.InBufferCount = 0 '清空接收缓冲区
MSComm1.RThreshold = 1 '缓冲区中接收到一个字符,就产生一次OnComm事件
End Sub

Private Sub MSComm1_OnComm() '有数据传送时触发
Dim indata As Variant'定义变量
Dim arr(0) As Byte'定义字节数组
Select Case MSComm1.CommEvent ''CommEvent属性:返回最近的通讯事件或错误。通过对它具体属性值的查询,我们就可以获得通讯事件和通 讯错误的完整信息。当其值是comEvReceive时表示接收到数据。
Case comEvReceive '有接收事件
indata = MSComm1.Input '接收到的数据存放到indata里
arr(0) = AscB(indata) '返回indata的值
Text2.Text = arr(0)'在text2中显示数据
MSComm1.InBufferCount = 0' 清空接收缓冲区
End Select
End Sub
在窗体中添加
text1显示发送数据,
text2显示接收数据,
command1发送按钮,
mscomm1通讯控件,
该看懂了吧,再看不懂我没办法了,
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式