求VB与flash通信,给串口发送信息的程序
自己实在搞的头疼了,请各位高手帮忙。
用vb加载一个flash多媒体程序,flash中使用 fscommand("H888") 给vb发送信息。vb接收这个信号,经过编码加校验码以后,发给串口,以控制沙盘的LED灯。
vb接收flash发送的信息,并处理的程序如下:
Private Sub Flash1_FSCommand(ByVal command As String, ByVal args As String)
Dim tvar, tvar1, tvar2, tvar3, tvar4 As Integer
Dim cono, st As String
st = Mid(command, 1, 1)
If st = "H" Then
tvar1 = Asc("H")
tvar2 = Asc(Mid(command, 2, 1))
tvar3 = Asc(Mid(command, 3, 1))
tvar4 = Asc(Mid(command, 4, 1))
tvar = tvar1 + tvar2 + tvar3 + tvar4
cono = "H" & Mid(command, 2, 3)
outcom = cono & Hex(tvar)
stim = True
Else
tvar1 = Asc("L")
tvar2 = Asc(Mid(command, 2, 1))
tvar3 = Asc(Mid(command, 3, 1))
tvar4 = Asc(Mid(command, 4, 1))
tvar = tvar1 + tvar2 + tvar3 + tvar4
cono = "H" & Mid(command, 2, 3)
outcom = cono & Hex(tvar)
stim = True
End If
MSComm1.Output = outcom
End Sub
vb初始化程序如下:
Private Sub Form_Load()
'Dim n As Integer
'INIfileName = App.Path & "\PFC.ini"
'n = GetPrivateProfileString("FileName", "SName", "试验.swf", swfnam, Len(swfnam), INIfileName)
'swfnam = Left(swfnam, n)
'comm_port = GetPrivateProfileInt("CommSeting", "comm_port", 1, INIfileName)
'comm_sn = GetPrivateProfileInt("CommSeting", "comm_sn", 9600, INIfileName)
'MSComm1.CommPort = comm_port
'MSComm1.Settings = comm_sn & ",n,8,1"
'MSComm1.PortOpen = True
'MSComm1.RThreshold = 1
MSComm1.CommPort = 1 '选择com1
MSComm1.Settings = "9600,N,8,1" '设置波特率为115.2kpbs,没有奇偶校验,8位数据位,1位结束位
MSComm1.InputLen = 0 '读取全部的输入缓冲区
If MSComm1.PortOpen = False Then MSComm1.PortOpen = True '端口打开
MSComm1.RThreshold = 2
MSComm1.SThreshold = 2
Me.Left = 0
Me.Top = 0
Me.Height = 11520 'Screen.Height
Me.Width = 30720 'Screen.Width
Flash1.Movie = App.Path & "/main.swf"
Flash1.Left = 0
Flash1.Top = 0
Flash1.Height = 11520
Flash1.Width = 10000 '30720
Flash1.Play
End Sub
我自己写的程序,最后就是串口接收不到信号,求各位大侠帮助。