各位大师,我是刚学的,请教串口发送16进制数据 0D 8A 34 7B 23 0A 如何写VB
我写的如下:Private Sub Command1_Click()
Command1.BackColor = RGB(0, 255, 0) '...按下命令1钮,变绿色Command2.BackColor = vbWhite '...命令2钮,变白色
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = '...是不是在这写入要发送的数据End SubPrivate Sub Command2_Click()
Command2.BackColor = vbRed '...按下命令2钮,变红色
Command1.BackColor = vbWhite '...命令1钮,变白色End SubPrivate Sub MSComm1_OnComm()
MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.RThreshold = 1 MSComm1.InputMode = comInputModeBinary '设置为2进制接收,是接收&H00 - &HFF必要条件 MSComm1.PortOpen = TrueEnd Sub
我写的如下:Private Sub Command1_Click()
Command1.BackColor = RGB(0, 255, 0) '...按下命令1钮,变绿色Command2.BackColor = vbWhite '...命令2钮,变白色
MSComm1.OutBufferCount = 0 '...清空输出寄存器
MSComm1.Output = '...是不是在这写入要发送的数据End SubPrivate Sub Command2_Click()
Command2.BackColor = vbRed '...按下命令2钮,变红色
Command1.BackColor = vbWhite '...命令1钮,变白色End SubPrivate Sub MSComm1_OnComm()
MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.RThreshold = 1 MSComm1.InputMode = comInputModeBinary '设置为2进制接收,是接收&H00 - &HFF必要条件 MSComm1.PortOpen = TrueEnd Sub
MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.RThreshold = 1 MSComm1.InputMode = comInputModeBinary '设置为2进制接收,是接收&H00 - &HFF必要条件 MSComm1.PortOpen = True
放的位置是错误的
Dim sData() As Byte
Private Sub Command1_Click()
ReDim sData(3)
sData(0) = &H12
sData(1) = &H80
sData(2) = &H55
sData(3) = &H32
MSComm1.OutBufferCount = 0
MSComm1.Output = sData
End SubPrivate Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '设置为2进制接收,是接收&H00 - &HFF必要条件
MSComm1.PortOpen = True
End Sub
Option Explicit
Dim sData() As By
ReDim sData(3)
sData(0) = &H12
sData(1) = &H80
sData(2) = &H55
sData(3) = &H32
MSComm1.OutBufferCount = 0
MSComm1.Output = sData
Command1.BackColor = RGB(0, 255, 0) '...按下命令1钮,变绿色Command2.BackColor = vbWhite '...命令2钮,变白色
End SubPrivate Sub Command2_Click()
Command2.BackColor = vbRed '...按下命令2钮,变红色
Command1.BackColor = vbWhite '...命令1钮,变白色End SubPrivate Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '设置为2进制接收,是接收&H00 - &HFF必要条件
MSComm1.PortOpen = True End Sub
我这样做了,提示是无效端口,“8002”不知何意,请教!
MSComm1.CommPort = 2
MSComm1.CommPort = 3
...
试试
谢谢
Dim sData() As Byte
Private Sub Command1_Click()
ReDim sData(10)
sData(0) = &HD
sData(1) = &H2A
sData(2) = &H70
sData(3) = &H6F
sData(4) = &H77
sData(5) = &H3D
sData(6) = &H6F
sData(7) = &H6E
sData(8) = &H23
sData(9) = &HD
MSComm1.OutBufferCount = 0
MSComm1.Output = sData
Command1.BackColor = RGB(0, 255, 0) '...按下命令1钮,变绿色Command2.BackColor = vbWhite '...命令2钮,变白色
End SubPrivate Sub Command2_Click()
Command2.BackColor = vbRed '...按下命令2钮,变红色
Command1.BackColor = vbWhite '...命令1钮,变白色
ReDim sData(12)
sData(0) = &HD
sData(1) = &H2A
sData(2) = &H73
sData(3) = &H6F
sData(4) = &H75
sData(5) = &H72
sData(6) = &H3D
sData(7) = &H52
sData(8) = &H47
sData(9) = &H42
sData(10) = &H23
sData(11) = &HD
MSComm1.OutBufferCount = 0
MSComm1.Output = sData
End SubPrivate Sub Form_Load()
MSComm1.CommPort = 4
MSComm1.Settings = "9600,n,8,1"
MSComm1.RThreshold = 1
MSComm1.InputMode = comInputModeBinary '设置为2进制接收,是接收&H00 - &HFF必要条件
MSComm1.PortOpen = True
End Sub请教,我写的这程序,用另一台PC的串口调试程序接收时,前面10个16进制或12个16进制的数据能读到,但最后都多了个00 即:0D 2A 70 6F 6E 23 0D 00
ReDim sData(0)
sData(0) = &HD
MSComm1.Output = sData