vb 串口接收数据时出现假死几秒
vb 求助:串口接收数据时出现假死几秒
接收到最后一句时出现假死,几秒后正常,接收的数据大概是这样的:
======================================
***********************************
[Board]: BD_CV181H_D
[MEMORY_MAP]: MMAP_32MB
[DDR]: DDR1 200MHZ
[DRAM SIZE]: 32 MB
[Flash]: FLASH_IC_MX25L6405D
[FLASH SIZE]: 4 MB
[Tuner]: QINGJIA_AFT7_W305G_TUNER
[Panel]: LTA320AP05
[Rroduce_Time]: 20120328174658
Cultraview_Version: AIT_SONEVIEW_181HD_LTA320AP05_0328_DVD
***********************************
======================================
g_u8DCOnOff = ON
POWERON_MODE_OFF >>
should go to standby!!!!!
Power down
=> DeepSleep (0xD7) '就是这句出问题,用串口调试助手没问题,很快就接完了
------解决方案--------------------
忘了贴接收代码,如下:
Private Sub MSComm1_OnComm()
On Error GoTo err
Select Case MSComm1.CommEvent
Case comEvReceive
Call Txt_receive
Case Else
End Select
err:
End Sub
Private Sub Txt_receive()
On Error GoTo err
Inbuf = MSComm1.Input
ReceiveCount = ReceiveCount + LenB(StrConv(Inbuf, vbFromUnicode))
Text3.Text = Text3.Text & Inbuf
Text3.SelStart = Len(Text3.Text)
If ReceiveCount >= 1000 Then
MSComm1.InBufferCount = 0
ReceiveCount = 0
End If
err:
End Sub
请问,问题出在哪里?为什么串口调试助手没有问题
------解决方案--------------------
该回复于2012-03-30 15:22:17被版主删除
------解决方案--------------------
没人回答,自己找到答案了,vb的richtext控件处理一些特殊字符时会有问题,只能一个一个接收,然后使用On Error Resume Next语句跳过。
------解决方案--------------------
没人回答,自己找到答案了,vb的richtext控件处理一些特殊字符时会有问题,只能一个一个接收,然后使用On Error Resume Next语句跳过。
接收到最后一句时出现假死,几秒后正常,接收的数据大概是这样的:
======================================
***********************************
[Board]: BD_CV181H_D
[MEMORY_MAP]: MMAP_32MB
[DDR]: DDR1 200MHZ
[DRAM SIZE]: 32 MB
[Flash]: FLASH_IC_MX25L6405D
[FLASH SIZE]: 4 MB
[Tuner]: QINGJIA_AFT7_W305G_TUNER
[Panel]: LTA320AP05
[Rroduce_Time]: 20120328174658
Cultraview_Version: AIT_SONEVIEW_181HD_LTA320AP05_0328_DVD
***********************************
======================================
g_u8DCOnOff = ON
POWERON_MODE_OFF >>
should go to standby!!!!!
Power down
=> DeepSleep (0xD7) '就是这句出问题,用串口调试助手没问题,很快就接完了
------解决方案--------------------
忘了贴接收代码,如下:
Private Sub MSComm1_OnComm()
On Error GoTo err
Select Case MSComm1.CommEvent
Case comEvReceive
Call Txt_receive
Case Else
End Select
err:
End Sub
Private Sub Txt_receive()
On Error GoTo err
Inbuf = MSComm1.Input
ReceiveCount = ReceiveCount + LenB(StrConv(Inbuf, vbFromUnicode))
Text3.Text = Text3.Text & Inbuf
Text3.SelStart = Len(Text3.Text)
If ReceiveCount >= 1000 Then
MSComm1.InBufferCount = 0
ReceiveCount = 0
End If
err:
End Sub
请问,问题出在哪里?为什么串口调试助手没有问题
------解决方案--------------------
该回复于2012-03-30 15:22:17被版主删除
------解决方案--------------------
没人回答,自己找到答案了,vb的richtext控件处理一些特殊字符时会有问题,只能一个一个接收,然后使用On Error Resume Next语句跳过。
------解决方案--------------------
没人回答,自己找到答案了,vb的richtext控件处理一些特殊字符时会有问题,只能一个一个接收,然后使用On Error Resume Next语句跳过。