频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

用COMMUNICATION控件进行数据采集(学习笔记)

来源: 作者: 出处:巧巧读书 2006-11-20 进入讨论组

  用COMMUNICATION控件进行数据采集(学习笔记)

关键词:VBScript, Visual Basic, Visual C++

用COMMUNICATION控件实现数据采集

private Sub form_load()
    MSComm1.COMMPORT = 2                    注释:com2
    MSComm1.settings = "9600,N,8,1"         注释:9600 为波特率,n 缺省的奇偶校验值,8 为数据位数,1 为停止位数。
    MSComm1.InBufferSize = 1024             注释:接收缓冲区的大小
    MSComm1.OutBufferSize = 512             注释:传输缓冲区的大小
    MSComm1.InputLen = 0                    注释:初始化接收缓冲区读取的字符数
    
    MSComm1.portopen=true                   注释:打开串口
end sub

Private Sub command1_click()  
    Dim instring As Byte
    
    h$ = Chr$(13) & Chr$(10) & Chr$(13) & Chr$(10)
    On Error Resume Next
    
    注释:在这里进行串口通讯(RS485)
   
    address="36"   注释:终端地址
    Lx1 = Chr$(var(address): Lx2 = Chr$(2): Lx3 = Chr$(1)
    MSComm1.Output = Lx1 & Lx2 & Lx3 注释:向终端发命令,等待终端传输数据
    MSComm1.InBufferCount = 0    ’接受缓冲清零
    注释:接收终端发出的数据
    Dtime1 = Timer
    Do            
        Dtime2 = Timer
        If Dtime2 - Dtime1 < 2 Then
            DoEvents
        Else
            Response = MsgBox("终端没有数据输出!" & h$ , vbOKOnly + vbExclamation, "警告")
            Exit Sub
        End If
    Loop Until MSComm1.InBufferCount >0 ‘若接受缓冲区等待的字符数大于零,则接收到了数据
        
    MSComm1.InputLen = 1 ‘从接受缓冲区要读取的字符数
    Instring = MSComm1.Input
end sub图 文 结 合:http://www.qqread.com/vb/d279073.html进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章