环境:
单片机,485接口接了一个485转网络的模块,模块有IP地址和端口号。
普通计算机
两者使用网线相连。 现在,能够直接使用winsock连接到模块,而且工作正常,但是,发送数据很麻烦
使用如下方式: winsock1.senddata &H55
winsock1.senddata &HAA
winsock1.senddata &H1
.
.
. 一位一位的送数据,系统能正常工作,可是很麻烦。 请教达人:
如何把“55AA010101010101”这样的字符串,把55,AA,01,01转换为一位一位的发送出去?
单片机,485接口接了一个485转网络的模块,模块有IP地址和端口号。
普通计算机
两者使用网线相连。 现在,能够直接使用winsock连接到模块,而且工作正常,但是,发送数据很麻烦
使用如下方式: winsock1.senddata &H55
winsock1.senddata &HAA
winsock1.senddata &H1
.
.
. 一位一位的送数据,系统能正常工作,可是很麻烦。 请教达人:
如何把“55AA010101010101”这样的字符串,把55,AA,01,01转换为一位一位的发送出去?
Dim strSend As String
Dim i As Integer
strSend = "55AA010101010101"
For i = 1 To Len(strSend) / 2
winsock1.senddata "&H" & Right(Left(strSend, (i * 2)), 2)
Next i
这样就可以
winsock1.senddata &H55
winsock1.senddata &HAA
winsock1.senddata &H1
.
.
.
兄弟的方法,那边接不到数据,单片没有反应...
For i = 0 To Len(strData)\2 - 1
Redim Preserve bytArr(i)
bytArr(i) = Val("&H" & Mid(strData, i * 2 + 1, 2))
Next iwinsock.senddata bytArr
Const Delay = 0.1 '如果0.1的发送间隔还是不行话, 增大这个值
Dim strSend As String
Dim i As Integer, j As Single
strSend = "55AA010101010101"
For i = 1 To Len(strSend) / 2
winsock1.senddata "&H" & Right(Left(strSend, (i * 2)), 2)
j = Timer
Do While Timer - j < Delay
DoEvents
Loop
Next i