VB6.0串口操作_第1页
VB6.0串口操作_第2页
VB6.0串口操作_第3页
VB6.0串口操作_第4页
VB6.0串口操作_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VB6.0串口操作职业 2010-12-22 11:30:58 阅读60 评论0 字号:大中小订阅 一直想通过计算机人机界面来控制单片机,感觉用软件控制硬件,即计算机控制是一件比较有意思的事情。计算机与单片机的连接,是通过串口来实现的。如何实现,我想应该明白VB怎样来操作串口,实现VB操作串口,就可以把单片机串口线接入计算机,从而实现真正的计算机控制单片机。这其他是别人早已实现了的,我因为是刚接触,就写下来留作纪念吧。开发软件:Visual Basic 6.0企业版(VB6)新建一个工程:标准EXE。接下来做Form界面。代码:Private Sub Combo1_Click()If MSComm1.PortOpen = True Then 如果串口打开先关闭后再进行其他操作 MSComm1.PortOpen = FalseEnd IfMSComm1.CommPort = Combo1.ListIndex + 1End SubPrivate Sub Command1_Click() Dim Temp(0) As Byte Dim strBuff As StringIf Option3.Value = True Then 如果显示16进制发送则进行16进制处理 ,这里只发送一个 Temp(0) = &H & Text1 MSComm1.Output = Temp 发送一个16进制 Else strBuff = Text1End IfIf MSComm1.PortOpen = False Then MsgBox 请打开串口End IfOn Error GoTo uerrorMSComm1.Output = strBuffuerror: End SubPrivate Sub Command2_Click()On Error GoTo uerror 发现错误跳转到错误处理If Command2.Caption = 关闭串口 Then MSComm1.PortOpen = False Command2.Caption = 打开串口 按钮文字改变 Shape1.FillColor = &HFFFFC0 灯颜色改变Else MSComm1.PortOpen = True Command2.Caption = 关闭串口 Shape1.FillColor = &HFFEnd IfExit Subuerror: msg$ = 无效端口号 错误显示 Title$ = 串口调试助手 x = MsgBox(msg$, 48, Title$) 48标示显示警告图标 End SubPrivate Sub Command3_Click()Text2.Text = End SubPrivate Sub Command4_Click()Text1.Text = End SubPrivate Sub Form_Load()If MSComm1.PortOpen = True Then MSComm1.PortOpen = FalseElseEnd IfCombo1.AddItem COM1Combo1.AddItem COM2Combo1.AddItem COM3Combo1.AddItem COM4Combo1.AddItem COM5Combo1.AddItem COM6Combo1.AddItem COM7Combo1.AddItem COM8Combo1.AddItem COM9Combo1.AddItem COM10Combo1.AddItem COM11Combo1.AddItem COM12Combo1.AddItem COM13Combo1.AddItem COM14Combo1.AddItem COM15Combo1.AddItem COM16Combo1.ListIndex = 0MSComm1.CommPort = Combo1.ListIndex + 1MSComm1.Settings = 9600,n,8,1 Command2.Caption = 打开串口 Shape1.FillColor = &HFFFFC0Option2.Value = TrueOption4.Value = TrueCombo2.AddItem 256000Combo2.AddItem 128000Combo2.AddItem 115200Combo2.AddItem 57600Combo2.AddItem 38400Combo2.AddItem 28800Combo2.AddItem 19200Combo2.AddItem 14400Combo2.AddItem 12800Combo2.AddItem 11520Combo2.AddItem 9600Combo2.AddItem 4800Combo2.AddItem 2400Combo2.AddItem 1200Combo2.AddItem 600Combo3.AddItem 无NoneCombo3.AddItem 奇OddCombo3.AddItem 偶EvenCombo4.AddItem 4Combo4.AddItem 5Combo4.AddItem 6Combo4.AddItem 7Combo4.AddItem 8Combo5.AddItem 1Combo5.AddItem 2End SubPrivate Sub MSComm1_OnComm()Dim BytReceived() As Byte Dim strBuff As String Dim i As Integer Select Case MSComm1.CommEvent 事件发生 Case 2 Cls MSComm1.InputLen = 0 读入缓冲区全部内容 strBuff = MSComm1.Input 读入到缓冲区 If MSComm1.InputMode = comInputModeBinary Then BytReceived() = strBuff 如果是二进制接收模式则进行数据处理,否则直接显示字符串 For i = 0 To UBound(BytReceived) If Len(Hex(BytReceived(i) = 1 Then strData = strData & 0 & Hex(BytReceived(i) & 如果只有一个字符,则前补0,如F显示0F,最后补空格 Else 方便显示观察如: 00 0F FE strData = strData & Hex(BytReceived(i) & End If Next Text2 = Text2 & strData strData = Else Text2 = Text2 & strBuff End If End SelectEnd SubPrivate Sub Option1_Click()MSComm1.InputMode = comInputModeBinaryEnd SubPrivate Sub Option2_Click()MSComm1.InputMode = comInputModeTextEnd Sub重要:一。添加新的VB控件:在控件 工具箱点鼠标右键:部件 添加:Microsoft Comm Control 6.0 (Mscomm1)二、设置 Mscomm1选中Mscomm1 改:RThreshold 0-1 LThreshold 0-1其他可不用改,默认。OK,以上基本可以完成这个小程序的设计,这样点发送就可以发送一个字符了。如果有单片机,在单片机里编好接收程序,则可以实现一定的控制,如实现LED灯的亮与灭,数码管显示,这在以后我会努力搞定发表的。附:上面程序界面中命名:信息(1)发送区:用frame3 (必须用,这样隔离option1,2).Text1 (发送文本框) option3(16进制发送) option 4 (字符格式发送)发送(command1) 清空发送区(command4)(2)接收区:Frame1 (必须用,隔离option3,4,)Text2(接收文本框,要多行,即:属性:MultiLine:True)option1(16进制接收) option2(字符格式接收) command3(清空接收区:Text2)(3)端口设置区:(在Form_load里设置的初值)combo1(端口,Text:COM1) combo2(波特率) combo3(校验位) combo4(数据位) combo5(停止位)Labe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论