精华内容
下载资源
问答
  • VB6.0编写。能实现自动搜索串口显示连接程序,能发送接收,并且设置标志位(VB结尾:vbCrLf)方便发送识别。显示电脑日期时间,format转换输出显示。
  • vb编写的通过rs232实现发送中文和英文字符串到接收区的自测程序
  • (好用)串口发送字符串实例

    千次阅读 2018-08-06 19:34:00
    # -*- coding: utf-8 -*-import osimport win32com.clientimport timeimport serialdm = win32com.client.Dispatch('dm.dmsoft')#current versiondm.SetPath("E:\dm\haha")dm.SetDict(0,"E:\dm\haha\dm_soft.tx...

    # -*- coding: utf-8 -*-
    import os
    import win32com.client
    import time
    import serial
    dm = win32com.client.Dispatch('dm.dmsoft')
    #current version
    dm.SetPath("E:\dm\haha")
    dm.SetDict(0,"E:\dm\haha\dm_soft.txt")
    dm.useDict(0)

    com3=serial.Serial('com3',57600)

    string='[MM11]'

    #转成16进制
    i=1000
    while (i!=0):
    i=i-1
    com3.write(string.encode("utf8"))

    转载于:https://www.cnblogs.com/sunjian0564/p/9432142.html

    展开全文
  • VB写一个串口发送16进制数,如何将文本中的字符串转化成16进制数据发送

    VB写一个串口发送代码,遇到一个问题,如何将文本中的字符串转化成16进制数据发送。
    这里写图片描述
    Dim bindate(200) As String
    Dim senddata As String ‘定义输入字符串变
    senddata = Replace(TxtSend.Text, ” “, “”) ‘已经将字符中间的空格都已经去掉了
    Dim hexdate() As Byte
    Dim I As Integer

       ReDim hexdate(0 To (Len(senddata) / 2 - 1))
             For I = 1 To (Len(senddata)) Step 2
                hexdate((I - 1) / 2) = Val("&H" + Mid(senddata, I, 2))
                Next I
    

    转化后,hexdate数据如下图所示
    这里写图片描述

    转化成功。

    展开全文
  • VB6写的串口接收实例

    2016-10-23 18:57:40
    VB6写的串口接收实例,初学者很有用
  • VB串口通信源码210个

    千次下载 热门讨论 2013-10-15 11:32:27
    054、VB串口字节通信程序,包括:1字节发送子程序,n字节接收子程序 055、VB串行口通信测试示例 056、VB串行通信试验程序 057、VB的MODEM通信源代码,智能化水电远端数据读取系统 058、VB的串口源程序,包括串口的配置...
  • VB源码:字符串分隔与合并的程序实例,可以统计出字符,处理大数据。挺简单的例子,仅供参考。
  • 摘要:1)VB6如何通过串口发送和接收二进制数据 2)如何一次获取一组串口数据 正文如下: 1)二进制收发 MSComm1.InBufferCount = 0 '清空接收缓冲区 MSComm1.RThreshold = 1 '收到RThreshold个字符数时触发...

    源码:https://download.csdn.net/download/sequh/13709444

    摘要:1)VB6如何通过串口发送和接收二进制数据

               2)如何一次获取一组串口数据

    正文如下:


    1)二进制收发
            MSComm1.InBufferCount = 0               '清空接收缓冲区
            MSComm1.RThreshold = 1                  '收到RThreshold个字符数时触发事件MSComm1_OnComm
            MSComm1.InputMode = comInputModeBinary      '设置接受数据的类型是二进制类型数据
            MSComm1.InputLen = 8                       '一次性从接收缓冲区中读取所有数据(8个字节为一组!!)


    2)发送二进制数据
         ' 发送时,要把二进制数据存储在byte数组中:

         '二进制模式发送:BB 00 22 00 00 22 7E
        Dim v(6) As Byte
        v(0) = &HBB
        v(1) = &H0
        v(2) = &H22
        v(3) = &H0
        v(4) = &H0
        v(5) = &H22
        v(6) = &H7E
        On Error Resume Next
        MSComm1.Output = v


    3)接收二进制数据
    '思路是这样的:


    这里的关键是调用sleep(20),把调用线程从线程调度器的可运行队列中移除20ms,这样程序在这20ms中是不再接收串口数据的。
    然后从接收缓冲区中把数据每次按8个为一组,一组一组地进行取出,直到缓冲区数据全部取完为止。
    这里有个知识点是:每MSComm1.Input一次就MSComm1.InBufferCount减小,减小的正是MSComm1.InputLen = 8 
    'MSComm1.InBufferCount属性:当前接收缓冲区接收到的数据的长度,

    Private Sub MSComm1_OnComm()
        Dim UB1%, UB2%, TM As Integer, i As Integer
        Dim strData As String
        Select Case MSComm1.CommEvent
            Case comEvReceive
                Sleep (20)          '相隔20ms就可以正确接收到24个字节的数据
                Do While MSComm1.InBufferCount > 0
                    TM = TM + 1
                    If TM = 1 Then
                        Rv_data = MSComm1.Input
                    Else
                        tmpRV = MSComm1.Input
                        UB1 = UBound(Rv_data)
                        UB2 = UBound(tmpRV) + 1 '元素比下标大1
                        ReDim Preserve Rv_data(UB1 + UB2)
                        For i = UB1 + 1 To UB1 + UB2
                            Rv_data(i) = tmpRV(i - UB1 - 1)
                        Next i
                    End If
                Loop

                If UBound(Rv_data) = 7 Then     '没接收到EPC
                    'lblTID.Caption = "空"
                Else
                    For i = 8 To 19
                        If Len(Hex(Rv_data(i))) = 1 Then
                            strData = strData & "0" & Hex(Rv_data(i)) & " " '如果只有一个字符,则前补0,如F显示0F,最后补空格
                        Else                                                    '方便显示观察如: 00 0F FE
                            strData = strData & Hex(Rv_data(i)) & " "
                        End If
                    Next
                    
                    strData = strData & "-" & Hex(Rv_data(5))

                    lblTID.Caption = strData
                    lblBg.BackColor = vbGreen
                    lblTID.ForeColor = &H80000012
                    
                    strData = ""
                    newCount = 0
        
        
                    Erase tmpRV
                    Erase Rv_data
                End If
        End Select
    End Sub

     

    展开全文
  • VB串口收发串口可改

    2015-01-07 11:14:52
    VB 实现串口收发字符串,保存文件等操作。
  • 串口编程之二:VB发送串口数据

    千次阅读 2012-04-04 05:37:00
    但是有的机器没有 MSCOMM 控件,需要下载 MSCOMM32.OCX 到 system32 目录下然后通过VB加载。除了要在代码中体现MSCOMM对象,还要在窗体中创建对应的对象,就是那个电话图标。 如果你没有硬件条件来做串口调试,请...

    Viscual Basic 下可以利用 MSCOMM 控件来访问串口,方便快捷。但是有的机器没有 MSCOMM 控件,需要下载 MSCOMM32.OCX 到 system32 目录下然后通过VB加载。除了要在代码中体现MSCOMM对象,还要在窗体中创建对应的对象,就是那个电话图标。


    如果你没有硬件条件来做串口调试,请看前文 《串口编程之:虚拟串口VSPM解决串口编程问题http://blog.csdn.net/zh405123507/article/details/7424877


    首先检查自己系统是否有MsComm控件:VB下打开 工程 -> 部件 ,如果在控件列表中能看到 “Microsoft Comm Control 6.0” 那恭喜你,直接勾选后添加到常用控件栏即可。然后在自己的窗体中拖出一个小 “电话” 。




    如果你找不到这个选项,那么去下载 MSCOMM32.OCX 这个文件吧。下载后解压到 C:\Windows\system32 目录,然后在VB下打开 工程 -> 部件,点击“浏览”并打开MSCOMM32.OCX ,一般就可以了。如果出现提示“控件许可证错误”,则需要再下载一个补丁覆盖在VB的目录下。


    MSCOMM32.OCX 下载:http://adf.ly/By9Wn

    控件许可证错误补丁 下载:http://adf.ly/By9Yt


    下面就可以开始做一个测试代码:

    如图,在form上创建一个 MSCOMM 控件,一个COMMAND控件。




    输入代码:(参考自 http://topic.csdn.net/u/20080311/13/97ed338f-0e79-404d-b629-d14af104e70f.html

    Option Explicit
    
    Private Sub Command1_Click()
        Dim a(0 To 20) As Byte
        Dim s As String
        
        a(0) = &H48
        a(1) = &H45
        a(2) = &H4C
        a(3) = &H4C
        a(4) = &H4F
        
        MSComm1.Output = a
    End Sub
    
    Private Sub Form_Load()
    
        MSComm1.CommPort = 3       '"选用com3串行口
        
        MSComm1.Settings = "115200,n,8,1"       '"波特率9600,无奇偶校验位,8位数据位1位停止位
        
        MSComm1.InputLen = 1       '"读取input接收缓冲区全部字节
        
        MSComm1.InBufferSize = 1024       '"设置接收缓冲区的字节长度
        
        MSComm1.InBufferCount = 0       '"清除发送缓冲区数据
        
        MSComm1.OutBufferCount = 0       '"清除接收缓冲区数据
        
        MSComm1.InputMode = 1       '"输入模式为binary
        
        MSComm1.RThreshold = 1       '"控件收到数据时将触发OnComm事件
        
        MSComm1.Handshaking = 2
        
        MSComm1.PortOpen = True
        
    End Sub
    
    Private Sub MSComm1_OnComm()
        Dim a() As Byte
        a = MSComm1.Input
        Dim i As Long
        Debug.Print UBound(a)
        'For i = 0 To UBound(a)
        '    Debug.Print Hex$(a(i)) & " ";
        'Next i
    End Sub
    

    现在到 Form_Load() 中修改 CommPort = 3, Settins 调整为相应参数。并打开配置好的VSPM(这里的VSPM将虚拟出来的COM3与COM4相连),然后将串口调试助手设置监听COM4,运行程序、点击COMMAND1就可以在串口调试助手上看到发送的结果。

    a(0) = &H48
    a(1) = &H45
    a(2) = &H4C
    a(3) = &H4C
    a(4) = &H4F

    这样设置,数组a就代表字符串“HELLO”。

    通过对控件MSCOMM的应用,就可以用VB写出对应的串口通信程序。


    ===================================

    本文来自:http://blog.csdn.net/zh405123507

    tags:串口 串口编程 VB MSCOMM VSPM



    展开全文
  • 1.串口通信基础 通信协议:物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输;协议层规定通讯逻辑,统一收发双方的数据打包、解包标准。 串口通讯物理层之RS-232 RS-232标准主要...
  •  ' Debug.Print "获取串口DCB:" & flag Dim SetDb() As String  SetDb = Split(Comsettings, ",")  If UBound(SetDb) >= 3 Then  typDCB.BaudRate = CLng(SetDb(0))  '定义波特率 If ...
  •  ' Debug.Print "获取串口DCB:" & flag    Dim SetDb() As String  SetDb = Split(Comsettings, ",")  If UBound(SetDb) >= 3 Then  typDCB.BaudRate = CLng(SetDb(0)) '定义波特率  If ...
  • vbs打开串口发送命令

    2013-01-17 15:15:43
    可以打开串口发送命令
  • VB串口通信程序设计典型实例[教程]

    热门讨论 2012-08-08 18:37:10
    利用VB开发串口通信程序既可以使用MSComm控件也可以调用Windows API函数实现。不过,只要MSComm控件可以被选用,我们推荐选择此控件实现,因为MSComm控件的功能和API调用一样强,甚至比它还好且使用起来更加简单。 ...
  • 使用HSL库做了个读写西门子PLC字符串类型的小工具,Wsring的读写可直接进行中文字符串读写测试
  • VB串口VB串口通信

    2021-08-04 08:14:04
    vb串口通信编程 一、概述 串口通讯作为一种古老而又灵活的通讯方式,被广泛地应用于PC间的通讯以及PC和 单片机之间的通讯之中。提到串口通讯的 编程,人们往往立刻想到C、 汇编等对系统底层操作支持较好...
  • VB-串口通信详解

    千次阅读 2019-09-26 05:03:16
     MSComm 控件通过串行端口传输和接收数据,为应用程序提供串行...MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。Microsoft Communicati...
  • VB2010读取指定字符串。 Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load '定义变量的类型很重要,关系到计数的开始,如果数整型,则开始的0不...
  • 前言:VB串口通信的方法一般有两种:一是通过Windows的通信API进行通信;另一种是通过VB的标准控件MSComm来实现。这篇文章要讲的是上位机如何通过VB的串口控件MSComm和下位机进行串口通信的过程。 以下是给VB初学者...
  • 支持二、十、十六进制转换,支持串口数据清空、保存,支持文件、字符、十六进制收发。添加自定义按钮、信息显示框。软件关闭后自动保存用户设置及数据。支持自动发送、数据校验和。支持37款皮肤随意换。增加了注册机...
  • VB.NET】使用SerialPort进行串口通信

    千次阅读 多人点赞 2018-09-28 12:40:47
    在使用VB.NET作为开发语言的时候,在针对串口进行操作的时候,可以考虑使用微软提供的官方接口...笔者此处设置均是读取配置txt,而对其使用字符串进行设置也是可以的。 Public WithEvents spone As New Se...
  • 串口收发字符转换为整数

    千次阅读 2015-05-03 17:05:12
    在下位机中处理来自串口字符串数组,将其转换为对应的整型变量,这里考虑了正负数两种情况,在VC6.0环境下验证,使用时利用两个子函数即可
  • 此ActiveX用于HTML中使用mscomm32连接串口时的数据发送转换,因js实现转换未果,故使用vb封装控件实现,使用方法见本人博客文章http://blog.csdn.net/china_zyl/article/details/17266647
  • VB 串口编程 开发心得

    千次阅读 2017-07-27 08:20:29
    接触vb串口控件也有一段时间了 经常被它弄得晕头转向 最重要的是死机 死机 死机 其實關鍵在於 寫好接收函數 现将自己的经验写下来供大家参考 1,使用串口   (1)臺式機自帶串口  (2)USB----...
  • 内容索引:VB源码,系统相关,调试工具,串口,mscomm控件 VB串口调试工具,可以显示二进制波形,实际上这是一个mscomm控件的使用用法的演示程序,包括二进制、字符串数据的发送接收,以及一些属性的使用,缓存区数据的...
  • VB串口通信实例讲解

    2012-05-09 22:01:52
    VB串口通信实例讲解,系统讲解各个模块作用以及如何设置,还有源程序,特别适用于初学者。
  • 前言:在上一篇文章中,笔者向大家初步介绍了VB6.0中MSComm控件的安装和它的基本属性,今天带大家来动手写一写代码,毕竟开发中实践是一个极其重要的环节。 ...
  • 支持波形的VB串口调试器,显波形串口调试工具,端口 5 设置 57600, Even, 8, 2, 字符, XOn/XOff,字符码、延时等操作均支持。为方便网友学习,代码中保留原作者注释。
  • 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如I

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,675
精华内容 670
关键字:

vb串口发送字符串