能不能给我个串的例子象下面程序中的bsend: 我想知道这个bsend的串怎么拼才能在led显示屏上显示 “克” 这个字 bSend(0) = &H4 bSend(1) = &H2 bSend(2) = &H0 bSend(3) = &H0 bSend(4) = &H5 bSend(5) = &H6 vSend = bSend If MSComm1.PortOpen Then MSComm1.Output = vSend Else MSComm1.PortOpen = True MSComm1.Output = vSend End If
其实你知需知道“克” 这个字的国标区号和国标位号就行redim bSend()bSend(0) = &H4bSend(1) = &H2 bSend(2) = &H0 bSend(3) = &H0bSend(4) = &H21 bSend(5) = &H35bSend(7) = &H21 bSend(8) = &H36bSend(9)=&H20 str2ByteString "克",bSend,10,1 If not MSComm1.PortOpen Then MSComm1.PortOpen = True End If MSComm1.Output = vSend
Public Sub Str2ByteString(vStr As String, aByteString() As Byte, StartPos As Byte, ArrayLen As Integer) Dim Value As Long Dim strLen As Integer Dim i As Integer, j As Integer
i = 0 j = 1 strLen = Len(vStr) Do While (i < ArrayLen) And (j <= strLen) Value = (CLng(65536) + Asc(Mid(vStr, j, 1))) Mod 65536 If Value < 256 Then aByteString(StartPos + i) = Value i = i + 1 Else aByteString(StartPos + i) = CByte(Value \ 256) aByteString(StartPos + i + 1) = CByte(Value Mod 256) i = i + 2 End If j = j + 1 Loop Do While i < ArrayLen aByteString(StartPos + i) = &H20 i = i + 1 Loop End Sub
更正redim bSend(11)bSend(0) = &H3bSend(1) = &H2 bSend(2) = &H0 bSend(3) = &H0bSend(4) = &H21 bSend(5) = &H35bSend(7) = &H21 bSend(8) = &H36bSend(9)=&H20 str2ByteString "克",bSend,10,1 If not MSComm1.PortOpen Then MSComm1.PortOpen = True End If MSComm1.Output = vSend
Public Sub Str2ByteString(vStr As String, aByteString() As Byte, StartPos As Byte, ArrayLen As Integer) Dim Value As Long Dim strLen As Integer Dim i As Integer, j As Integer
i = 0 j = 1 strLen = Len(vStr) Do While (i < ArrayLen) And (j <= strLen) Value = (CLng(65536) + Asc(Mid(vStr, j, 1))) Mod 65536 If Value < 256 Then aByteString(StartPos + i) = Value i = i + 1 Else aByteString(StartPos + i) = CByte(Value \ 256) aByteString(StartPos + i + 1) = CByte(Value Mod 256) i = i + 2 End If j = j + 1 Loop Do While i < ArrayLen aByteString(StartPos + i) = &H20 i = i + 1 Loop End Sub
代码
注释
00H
01H
字数为1个汉字
01H
0BH
引入方式为↑移
02H
0EH
引出方式为连续
03H
00H
附加方式为停留
04h
20h
属性
09H
0CBH
“克”的国标位号
我想知道这个bsend的串怎么拼才能在led显示屏上显示 “克” 这个字 bSend(0) = &H4
bSend(1) = &H2
bSend(2) = &H0
bSend(3) = &H0
bSend(4) = &H5
bSend(5) = &H6 vSend = bSend
If MSComm1.PortOpen Then
MSComm1.Output = vSend
Else
MSComm1.PortOpen = True
MSComm1.Output = vSend
End If
bSend(2) = &H0
bSend(3) = &H0bSend(4) = &H21
bSend(5) = &H35bSend(7) = &H21
bSend(8) = &H36bSend(9)=&H20
str2ByteString "克",bSend,10,1 If not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
MSComm1.Output = vSend
Public Sub Str2ByteString(vStr As String, aByteString() As Byte, StartPos As Byte, ArrayLen As Integer)
Dim Value As Long
Dim strLen As Integer
Dim i As Integer, j As Integer
i = 0
j = 1
strLen = Len(vStr)
Do While (i < ArrayLen) And (j <= strLen)
Value = (CLng(65536) + Asc(Mid(vStr, j, 1))) Mod 65536
If Value < 256 Then
aByteString(StartPos + i) = Value
i = i + 1
Else
aByteString(StartPos + i) = CByte(Value \ 256)
aByteString(StartPos + i + 1) = CByte(Value Mod 256)
i = i + 2
End If
j = j + 1
Loop
Do While i < ArrayLen
aByteString(StartPos + i) = &H20
i = i + 1
Loop
End Sub
不知道是什么原因:
bSend(0) = &H4bSend(1) = &H2
bSend(2) = &H0
bSend(3) = &H0bSend(4) = &H21
bSend(5) = &H35bSend(7) = &H21
bSend(8) = &H36没有‘56’两个数字吗?
bSend(0) = &H2bSend(1) = &H2
bSend(2) = &H0
bSend(3) = &H0bSend(4) = &H21
bSend(5) = &H35bSend(7) = &H21
bSend(8) = &H36
bSend(2) = &H0
bSend(3) = &H0bSend(4) = &H21
bSend(5) = &H35bSend(7) = &H21
bSend(8) = &H36bSend(9)=&H20
str2ByteString "克",bSend,10,1 If not MSComm1.PortOpen Then
MSComm1.PortOpen = True
End If
MSComm1.Output = vSend
Public Sub Str2ByteString(vStr As String, aByteString() As Byte, StartPos As Byte, ArrayLen As Integer)
Dim Value As Long
Dim strLen As Integer
Dim i As Integer, j As Integer
i = 0
j = 1
strLen = Len(vStr)
Do While (i < ArrayLen) And (j <= strLen)
Value = (CLng(65536) + Asc(Mid(vStr, j, 1))) Mod 65536
If Value < 256 Then
aByteString(StartPos + i) = Value
i = i + 1
Else
aByteString(StartPos + i) = CByte(Value \ 256)
aByteString(StartPos + i + 1) = CByte(Value Mod 256)
i = i + 2
End If
j = j + 1
Loop
Do While i < ArrayLen
aByteString(StartPos + i) = &H20
i = i + 1
Loop
End Sub
是不是led的型号不同编程的方式也不同
还是怎么样
可是这个通信的协议是对的呀!
看样子你好像作了个程序是吗?能不能给我发过来
mail:[email protected]