Option Explicit ' 强制显式声明Dim receiveData As String, A_DYshj As String, B_DYshj As String, C_DYshj As String
Dim v As Variant
Dim rd() As Byte
Dim Counter As Integer
Dim DataLong As Integer
Dim i As Integer, j As Integer, k As Integer, w As Integer '临时变量(循环变量)
Dim sjHex As String, sjbiaoshi As String
'====================================================================================
' 通信触发事件
'====================================================================================
Private Sub MSComm1_OnComm()If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = 1 '端口
MSComm1.Settings = "9600,N,8,1" '设置
MSComm1.InBufferSize = 1024 ' 设置接收缓冲区为1024字节
MSComm1.OutBufferSize = 1024 ' 设置发送缓冲区为1024字节
MSComm1.InputMode = comInputModeBinary
MSComm1.SThreshold = 1 ' 发送缓冲区空触发发送事件
MSComm1.RThreshold = 1 ' 每X个字符到接收缓冲区引起触发接收事件
MSComm1.OutBufferCount = 0 ' 清空发送缓冲区
MSComm1.InBufferCount = 0 ' 滑空接收缓冲
MSComm1.PortOpen = TruesjHex = ""
End Sub
Private Sub hexReceive() Select Case MSComm1.CommEvent //MSComm1.CommEvent的值该是多少??
//我怎么是148,有时候是1001,有时候是1004??
Case comEvReceive v = MSComm1.Input
rd = v
For k = 0 To UBound(rd) '转换为16进制字符串待处理
sjHex = sjHex & Right("0" & Hex(rd(k)), 2) '确保每字节为2字符16进制
Next
Text6 = sjHex '显示接收的全部数据
Private Sub Timer1_Timer()
Timer1.Interval = 500
hexReceiveEnd Sub
Dim v As Variant
Dim rd() As Byte
Dim Counter As Integer
Dim DataLong As Integer
Dim i As Integer, j As Integer, k As Integer, w As Integer '临时变量(循环变量)
Dim sjHex As String, sjbiaoshi As String
'====================================================================================
' 通信触发事件
'====================================================================================
Private Sub MSComm1_OnComm()If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = 1 '端口
MSComm1.Settings = "9600,N,8,1" '设置
MSComm1.InBufferSize = 1024 ' 设置接收缓冲区为1024字节
MSComm1.OutBufferSize = 1024 ' 设置发送缓冲区为1024字节
MSComm1.InputMode = comInputModeBinary
MSComm1.SThreshold = 1 ' 发送缓冲区空触发发送事件
MSComm1.RThreshold = 1 ' 每X个字符到接收缓冲区引起触发接收事件
MSComm1.OutBufferCount = 0 ' 清空发送缓冲区
MSComm1.InBufferCount = 0 ' 滑空接收缓冲
MSComm1.PortOpen = TruesjHex = ""
End Sub
Private Sub hexReceive() Select Case MSComm1.CommEvent //MSComm1.CommEvent的值该是多少??
//我怎么是148,有时候是1001,有时候是1004??
Case comEvReceive v = MSComm1.Input
rd = v
For k = 0 To UBound(rd) '转换为16进制字符串待处理
sjHex = sjHex & Right("0" & Hex(rd(k)), 2) '确保每字节为2字符16进制
Next
Text6 = sjHex '显示接收的全部数据
Private Sub Timer1_Timer()
Timer1.Interval = 500
hexReceiveEnd Sub
解决方案 »
- VB和JAVA都不支持多重继承
- 贴出GZip.dll里面API声明,欢迎大虾们一起看看,顺便散分
- --VB怎么操控EXCEL表格--??
- 怎么得到我当前打开文件夹的路径
- 如何获得当前计算机拨号网络的所有用户名和密码,以及在VB中如何调用WINDOWS的新建一个拨号网络窗口?
- VB如何取得word 文档字符的个数。要求在不打开word文档发情况下。
- 请教:将.xls保存为.html
- VB读取十六进制字符串 的问题
- 关于时间格式的问题。
- 可憐的求助,VB中調用API函數缺乏許多常數的數值,請問在哪裡可以查到
- Hierarchical FLEXGRID的sort问题,谢谢!
- vb程序如何能具有xp风格呀,据说利用manifest文件就行,可是总是不成功,谁能具体说说,谢谢了。
Dim receiveData As String, A_DYshj As String, B_DYshj As String, C_DYshj As String
Dim v As Variant
Dim rd() As Byte
Dim Counter As Integer
Dim DataLong As Integer
Dim i As Integer, j As Integer, k As Integer, w As Integer '临时变量(循环变量)
Dim sjHex As String, sjbiaoshi As StringPrivate Sub Form_Load()
'以下是初始化代码,不能放MSComm1_OnComm
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
MSComm1.CommPort = 1 '端口
MSComm1.Settings = "9600,N,8,1" '设置
MSComm1.InBufferSize = 1024 ' 设置接收缓冲区为1024字节
MSComm1.OutBufferSize = 1024 ' 设置发送缓冲区为1024字节
MSComm1.InputMode = comInputModeBinary
MSComm1.SThreshold = 1 ' 发送缓冲区空触发发送事件
MSComm1.RThreshold = 1 ' 每X个字符到接收缓冲区引起触发接收事件
MSComm1.OutBufferCount = 0 ' 清空发送缓冲区
MSComm1.InBufferCount = 0 ' 滑空接收缓冲
MSComm1.PortOpen = True
sjHex = ""
Timer1.Interval = 500
End Sub'通信触发事件
Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent '//MSComm1.CommEvent的值该是2
Case comEvReceive
v = MSComm1.Input
rd = v
For k = 0 To UBound(rd) '转换为16进制字符串待处理
sjHex = sjHex & Right("0" & Hex(rd(k)), 2) '确保每字节为2字符16进制
Next
Text6 = sjHex '显示接收的全部数据
hexReceive
End Select
End Sub
Private Sub hexReceive() 'SUB过程执行何?End SubPrivate Sub Timer1_Timer() 'Timer1_Timer事件执行何?End Sub