首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

电子秤,该如何处理

2012-03-08 
电子秤我有如下程序:PrivateSubsub_addinit()IfMSComm1.PortOpenFalseThenMSComm1.CommPort1MSComm1.Set

电子秤
我有如下程序:
Private   Sub   sub_addinit()


        If   MSComm1.PortOpen   =   False   Then
                MSComm1.CommPort   =   1                                  
                MSComm1.Settings   =   "9600,N,8,1 "    
                MSComm1.PortOpen   =   True                  
                MSComm1.InputMode   =   comInputModeText
                MSComm1.Handshaking   =   comRTSXOnXOff
                MSComm1.RThreshold   =   1
                MSComm1.InBufferCount   =   0
                MSComm1.OutBufferCount   =   0
                MSComm1.InputLen   =   16
                Else
MSComm1.PortOpen   =   False
MSComm1.CommPort   =   1                              
MSComm1.Settings   =   "9600,N,8,1 "        
MSComm1.PortOpen   =   True                      
MSComm1.InputMode   =   comInputModeText
MSComm1.Handshaking   =   comRTSXOnXOff
'                 MSComm1.SThreshold
MSComm1.RThreshold   =   1
MSComm1.InBufferCount   =   0
MSComm1.OutBufferCount   =   0
'   MSComm1.RThreshold   =   1
MSComm1.InputLen   =   16
        End   If
        MSComm1.OutBufferCount   =   0                
        MSComm1.InBufferCount   =   0                    

End   Sub


Private   Sub   MSComm1_OnComm()

If   MSComm1.InBufferCount   >   16   Then
Text1(7).Text   =   Round(Val((Mid(MSComm1.Input,   8,   7)))   +   0.00001,   2)

                MSComm1.OutBufferCount   =   0                    
                MSComm1.InBufferCount   =   0                          
End   If

End   Sub
现在的问题是一般我的电子秤,用几分钟,电子秤里可以显示数据,要是软件里读取不到,为零。退出窗口,有时候马上进去就可以,有时候要等上几分钟才能恢复读取数据。不知道是我的程序设计的不对还是?我个人的感觉好像是数据读取到一定的量的时候就放不下了,所以读不出来,可我明明设计             MSComm1.OutBufferCount   =   0                         清除数据。可还是不对,真想不出来错在那里了,帮忙看看吧,谢谢



[解决办法]
第一句改成:
If MSComm1.PortOpen Then MSComm1.PortOpen = false
然后再设置属性

热点排行