我想学习一下mscomm控件,可我的电脑没有连上什么设备,或者别的什么,那么我怎么才能测试我编的程序正确与否阿!求助各位大虾!我用的是VB6!
另外我想问一下,mscomm控件的初始设置是不是要跟pc连接的那个设备的一些参数要一致阿?
那我要怎么知道这些参数阿?
教教我这个新手!不甚感激!

解决方案 »

  1.   

    参考让她能发送能接收后,再加其他你需要的功能。希望对你有帮助。 
    使用MSCOMM控件主要是通过事件来处理串行口的交互,即当数据到达时,控件的OnComm的事件就会来捕获或处理这些通讯事件。而OnComm事件也可以用来捕获和处理通讯错误。在实际应用中,一个MSCOMM控件就对应一个串行口,所以如果要处理多个串行口的话,必须有相应数量的控件与之对应。下面介绍一下此控件的主要属性:  CommPort---------设置或者返回串行端口号  Settings-------------用来设置和返回波特率,奇偶校验,数据位和结束位  PortOpen----------设置或者返回通讯端口的状态,也可以打开和关闭一个端口  Input----------------从接受缓冲区里获取或删除数据  Output-------------给发送缓冲区里写数据  另外对于OnComm事件来说,每当CommEvent的数值发生改变时就会产生这种事件,这就表明要么就是一个通讯事件的产生,要么是一个通讯错误产生。CommEvent属性里面包含了通讯事件或者产生的错误的编号。
    那么为了能够更加清楚的说明上述问题,下面给出一个例程,例程要实现的功能很简单,就是在一个过程里给一个特定的串行口发送数据,然后在另外一个过程里实时检测此串行口以便一旦此串行口的发送缓冲区有数据就显示消息,如果发送空数据就会显示"无数据的字样"。界面如下:    主要核心代码如下:
    Private Sub Command1_Click()
    If Text1.Text = "" Then
    List1.AddItem "发送缓冲区无数据"
    Exit Sub
    End If
    MSComm1.Output = Text1.Text
    End Sub
    Private Sub Command2_Click()
    Unload Me
    End Sub'主要进行串口的初始化
    Private Sub Form_Load()
    '选择com1
    MSComm1.CommPort = 1
    '设置波特率为9.6kpbs,没有奇偶校验,8位数据位,1位结束位
    MSComm1.Settings = "9600,N,8,1"
    '读取全部的输入缓冲区
    MSComm1.InputLen = 0
    '端口打开
    MSComm1.PortOpen = True
    MSComm1.RThreshold = 10
    MSComm1.SThreshold = 10
    '以下就可以进行数据的发送了
    End Sub'所有的通讯事件都可以激发MSComm1控件的OnComm事件
    Private Sub MSComm1_OnComm()
    Select Case MSComm1.CommEvent
    Case comEvReceive
    '此处的代码可以进行当串口的接受缓冲区里有RThreshold个字符的处理
    Case comEvSend
    '此处的代码可以进行当串口的发送缓冲区里有SThreshold个字符的处理
    List1.AddItem "发送缓冲区有数据"
    End Select
    End Sub
      

  2.   

    如果你PC接单片机什么的,你的单片机的设置要与你在VB下写的程序设置一样,如波特率9600,或者都是4800,你没有个实验板之类的吗,我是用的AVR单片记得实验板
      

  3.   

    多谢两位大虾!小弟获益良多阿!
    不过我还想问一下,就是mscomm控件好像只能打开com口,是不是啊?
    它能连接usb接口吗?
    如果能,那么该怎么设置阿?
      

  4.   

    那如果要连接上usb,该怎么办阿?