求助VB中串口通讯问题.
发布网友
发布时间:2023-11-22 05:21
我来回答
共5个回答
热心网友
时间:2024-10-20 20:53
VB中"+"运算符有加法运算含义和字符串连接含义。但是为了消除多义性,应该改用 & 运算符。你的问题出在多意义性。
"@"在VB里就像"&h"类似的含义,表示强制转换Decimal类型。所以你的表达式"@21173" + Chr(13),编译系统应该理解成了算术运算。
你可以修改为"@21173" & vbCr
注意字符串运算尽量使用"&"符号,某些非显示字符有常量定义。如chr(13)=vbCr
热心网友
时间:2024-10-20 20:53
是否应该讲你的回车car(13)换一个字符比如说
MSComm1.Output = "@21173" + "\n"
你得到的肯定就是 @21173 和\n了..你在去匹配字符串讲\n在转变成Chr(13)就好了
热心网友
时间:2024-10-20 20:54
1. + Chr(13) 换 & Chr(13) 试试
2. + Chr(13) 换 & Chr(10) 试试
2. + Chr(13) 换 vbNewLine 试试
串口通讯做的少。呵呵。试试吧。
热心网友
时间:2024-10-20 20:54
Chr(13)+Chr(10)
不行,你换一个,比如esc字符或者back字符可以不?
热心网友
时间:2024-10-20 20:55
加trim()就行来了
VB串口通讯问题
1,MSComm1.InputMode=0表示以文本方式接受,=1表示以二进制方式接受,你根据你的实际情况确定,一般=0 2.MSComm1.Setting属性的设置问题,如果VB中设置的波特率和单片机的波特率不一致,接受的数据基本上就会不正确 3,在1中,如果以文本方式,0x90,和0x80被当作ASCii码从51中往上传,在VB接收到的...
vb串口通信代码详解
VB串口通信代码详解如下:在VB代码中,引入System.IO.Ports命名空间,这是为了操作串口而设。接下来,创建一个SerialPort对象,通过它能够获取和设置串口的各项属性,比如波特率、数据位、停止位、校验位等。打开串口的方法是调用SerialPort对象的Open()方法,这一步骤需要指定目标的串口。一旦串口被打开,就...
关于串口通信,用VB编的。发送正常,接收的数据总是不对,数据中多了几...
要想解决这个问题,你必须用字节数组而不是字符串变量来接收数据,并且要按字节读取而不是按字符读取。也可以采用编码转换函数强制把Unicode编码转换为ANSI编码,比如:Dim s As String s = "abc1"s = StrConv(s, vbFromUnicode)但要注意,转换后的字符串是不能在VB直接使用的(将是乱码),只能作...
VBA 串口通讯问题
mscomm.vbx有2种不同的方式来处理和解决各类通信软件的开发和设计问题 1、事件驱动。它与c/c++写windows 软件时的窗口回调函数类似,是1种功能强大的处理问题的方法。在实际工作中,往往要处理许多通信中的相关事件,例如:当线路数据到达本端或cd线和rts信号线状态发生变化时,要求我们使用相应的事件来...
计算机有二个串口VB中要如何处理才能同时通讯
计算机的两个串口是相互独立的,可以同时与两个外界设备通讯,你只需要在VB程序中放入两个 MSComm 通讯控件,然后分别设置相应的参数就可以了,但有一点要注意:就是两个控件的CommPort 属性不能设置成一样的,否则打开一个串口后,再打开就会出错。例子如下:MSComm1.CommPort = 1 '设置串口1 MSComm...
用VBA可以进行串口通讯吗?如果可以的话,该怎么实现,多谢大侠赐教!!_百...
一.将两台PC机串行口的连接(如图)二.建立VB工程1.在VB窗体添加控件(如图)2.VB编程:'PC机串行口用命令按钮启动接收/发送VB程序 Private Sub Form_Load() MSComm1.PortOpen = True '开启通信控件的端口End Sub '点击“发送”命令按钮发送数据Private Sub Command1_Click() MSComm1.Output ...
求助:vb串口通信接收字符串
在VB6中,用MSCOMM控件进行串口通讯,定义一个变量strIn,打开串口后,用语句 strIn=Mscomm1.Instring 读取串口缓冲区内容即可。strIn应该是一个数组,每个数组的内容即为接收到的字符的ASCII码。strIn就是接收到的字符串。
vb中串口通讯出现乱码
VB内部是使用Unicode编码的,而串口发过来的数据则是ANSI编码的,要转换后才能在VB中正常显示:Private Sub Timer1_Timer()Dim buf() As Byte '要设为字节数组buf = MSComm1.Input '将缓冲区内的数据读入buf数组中If UBound(buf) >= 0 Then '判断缓冲区内是否存在数据 TextReceive.Text = ...
VB串口通讯程序,总是误报"端口已打开", 若删除Mscomm1.PortOpen = Tru...
这个程序在我的电脑上没有出现上述问题,说明您的COM2串口,可能是被其它程序占用的。做几个测试,可以证明是否是程序自身的问题:1、将“.CommPort = 2”改为其它端口,例如COM1、COM3、COM4...试一下问题是否依旧;2、用其它串口调试软件,如“串口调试助手”打开COM2,试一下能否正常打开。另外...
VBAnbsp;串口通讯问题
若toolbox中无此控件,则用tools的customnbsp;controlsnbsp;将mscomm.vbx从windows的system子目录中加入vb的toolbox中。nbsp;1.1nbsp;通信方式nbsp;mscomm.vbx有2种不同的方式来处理和解决各类通信软件的开发和设计问题nbsp;1、事件驱动。它与c/c++写windowsnbsp;软件时的窗口回调函数类似,是1种功能...