vb串口编程
⑴ vb串口通信编程,请高手帮忙
按你提供的C2C7FAE1看为16进制数,其10进制值为-1027081503,如何处理成-99.99要看下位机是如何约定数据的来定.
Text1 = &HC2C7FAE1 或 Text1 = VAL(&HC2C7FAE1)
一般上下位机对数字值传递通常以16位二进制数字传递,而小数点不传递,仅乘一定倍率来实现.同时16位二进制数字按两个8位(ASCII码值)输送,上位机通过程序代码处理成10进制数.
串口传送数据实质是传送ASCII码,如是8位二进制数据,其ASCII码值(10进制)为0-255。用二进制表示为00000000 - 11111111
16进制表示为 00 - FF
传送数据大于255,则用16位二进制(即2字节ASCII码组成)。10进制范围-32768到+32767。
如有小数,则应由上下位机约定,不进行发送。
串口通信中数制转换必须相当重视。
以上是以二进制方式收发数据。
也可直接以ASCII码的文本方式发送数据,而字节量大。
⑵ VB实现串口通讯程序代码
发给你 VB的串口调试精灵代码
QQ信箱
请 查收
⑶ 如何用VB编写串口程序
有串口控件MSComm控件
MSComm 控件示例
下面这个简单的例子演示了用调制解调器进行基本的串行通讯:
Private Sub Form_Load ()
' 保存输入子串的缓冲区
Dim Instring As String
' 使用 COM1。
MSComm1.CommPort = 1
' 9600 波特,无奇偶校验,8 位数据,一个停止位。
MSComm1.Settings = "9600,N,8,1"
' 当输入占用时,
' 告诉控件读入整个缓冲区。
MSComm1.InputLen = 0
' 打开端口。
MSComm1.PortOpen = True
' 将 attention 命令送到调制解调器。
' Chr$函数:返回 String,其中包含有与指定的字符代码相关的字符 。
MSComm1.Output = "ATV1Q0" & Chr$(13) ' 确保
' 调制解调器以"OK"响应。
' 等待数据返回到串行端口。
Do
DoEvents
Buffer$ = Buffer$ & MSComm1.Input
Loop Until InStr(Buffer$, "OK" & vbCRLF)
' 从串行端口读 "OK" 响应。
' 关闭串行端口。
MSComm1.PortOpen = False
End Sub
⑷ vb如何使用串口通讯
用PC机的9针RS232接口,用VB6 含有的MSComm 控件编程
两台PC机串行通信串行口的接线图:
Private Sub Form_Load()
MSComm1.PortOpen = True '开启通信控件的端口
Timer1.Interval = 100 ’自动传送时间间隔100毫秒
End Sub
Private Sub MSComm1_OnComm()
Dim st As String
If MSComm1.InBufferCount > 0 Then
st = MSComm1.Input
Text2.Text = st '将收到的数据放入Text2文本框
End If
End Sub
Private Sub Timer1_Timer()
MSComm1.Output = Text1.Text '发送Text1文本框内容
End Sub
⑸ VB与串口通信
推荐 看 经典入门 书籍
Visual_Basic与_RS-232_串行通信控制
通常只 设置 Rthreshold,其他默认
单片机传过来的数据变化很慢,所以大都是重复无用数据?你 单片机 程序 没有 问题?
祝你顺利
⑹ vb程序编写模拟串口
这是典型的VB串口通信
你可以采用Mscomm控件实现串口通信时,首先添加一Mscomm控件到窗体中,通过菜单项“工程(P)→部件(O)”进入选择窗口,在控件页中选取“MicrosoftCommControl6.0”,此时工具窗口中出现Mscomm图标,即可被使用。
需要注意的几点是:
1.用mscomm控件进行通信,其波特率最高只能设为115200
2.利用MSCOMM控件可以发送和接收任何文件的类型。
3.接收文本文件和二进制文件有一定的区别,接收二进制文件时用scomm1.Input读入的变量需用Variant类型的变量,而文本文件可以用字符型变量,另外InputMode属性应设置相应的文本方式或二进制方式
4.接收文本无大小限制。
5.当连续存数据时记录号是自动加的,但当文件关闭后再次打开时,默认的记录号为1,存储文件不完整的原因可能在此。接收到文件头识别字符时打开文件,接收中途不要关闭文件,直到接收到文件结束符(Mscomm1.EOFEnable事件发生)才能关闭文件。
我手头有一个完整的VB串口通信源码,对你的问题很有帮助
若你需要,发邮件至[email protected]
我会尽快发给你
如果满意,加点分哦,资料都来之不易的呵呵
⑺ VB串口通信程序
串口初始化
Private Sub Form
Load()
MSComm1.CommPort = 1
设置通信端口号为
COM1
MSComm1.Settings = "9600,n,8,1"
设置串口
1
参数
MSComm1.InputMode = 0
接收文本型数据
MSComm1.PortOpen = True
打开通信端口
1
End Sub
把字符通过串口发送出去
Private Sub Cmdsend
Click()
If Textsend.Text = "" Then
pp = MsgBox("
发送的数据不能为空!
Exit Sub
End If
MSComm1.Output = Trim(Textsend.Text)
For i = 1 To 20000000
Next i
End Sub
通过时钟控制来自动接收字符
Private Sub Timer1_
Timer()
Dim buf$
buf = Trim(MSComm1.Input)
将缓冲区内的数据读入
buf
变量中
If Len(buf) <> 0 Then
判断缓冲区内是否存在数据
TextReceive.Text = TextReceive.Text +Chr(13) + Chr(10) + buf
回车换行
End If
End Sub
关闭通信端口
停止程序运行
Private Sub Cmdquit
Click()
MSComm1.PortOpen = False
Unload Me
End Sub
⑻ vb串口通信程序实例
我也是自己摸索开发出来的每一款VBtoCOM通讯,有具体的思路如下:
给你推荐一个工具“com串口测试工具 ComTone V1.0 中文绿色版”
1、打开你的噪音计的测试软件,调整好串口号、通讯频率等等,我用温度计举例说明。
⑼ VB串口编程
VB2005有rs232的控件,拖到窗体上,就可以收发串口的数据,你说的灯亮起来,只是具体的数据内容,这个内容类似A代表灯亮,B代表灯灭,完全自已控制
补充:你说的高低电平那是低一层的,单片机的接收协议一般是个表格,什么字符代表什么功能,SerialPort只是控制流向的字符
要说高低电平,那就是驱动了,则不能用控件,语言应用C。
我对单片机不知,所以……
⑽ vb 串口 接收 程序
PrivateSubForm_Load()
MSComm1.CommPort=1
MSComm1.Settings="9600,n,8,1"
MSComm1.InputMode=comInputModeBinary
MSComm1.InputLen=0
MSComm1.SThreshold=1
MSComm1.RThreshold=1
MSComm1.PortOpen=True
Text5=""
EndSub
PrivateSubMSComm1_OnComm()
DimbufferAsVariant
Dimarr()AsByte
DimiAsLong
SelectCaseMSComm1.CommEvent
CasecomEvReceive
buffer=MSComm1.Input
arr=buffer
Fori=0ToUBound(arr)
Text5.Text=Text5.Text+"||"+Right("0"&Hex(arr(i)),2)
Nexti
MSComm1.InBufferCount=0
EndSelect
EndSub