⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmdownload.frm

📁 按摩椅软件开发示例,VB-PIC单片机通讯题,主要是串口通讯问题
💻 FRM
📖 第 1 页 / 共 2 页
字号:
        For counter = 1 To 512 Step 64
        
        frmB_6(index) = Mid(frmB_TotalStr(5), counter, 64) '32byte
        
        index = index + 1
        
    Next
    For index = 0 To 7
        chk_sum(index) = Hex_Doc("AA")
    Next
    
    
     For index = 0 To 7
     
        For counter = 1 To 64 Step 2 '32byte=64'
        
                chk_sum(index) = chk_sum(index) + Hex_Doc(Mid(frmB_6(index), counter, 2))
                
                
        Next
             chksum(index) = Doc_Hex(chk_sum(index))
             chksum(index) = Right(chksum(index), 2)
             frmB_6(index) = "AA" + frmB_6(index) + chksum(index) 'frmB1_2(0-7)=34byte
     Next

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

      ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    index = 0
        For counter = 1 To 512 Step 64
        
        frmB_7(index) = Mid(frmB_TotalStr(6), counter, 64) '32byte
        index = index + 1
        Next
        

    For index = 0 To 7
        chk_sum(index) = Hex_Doc("AA")
    Next
    
    
     For index = 0 To 7
     
        For counter = 1 To 64 Step 2 '32byte=64'
        
                chk_sum(index) = chk_sum(index) + Hex_Doc(Mid(frmB_7(index), counter, 2))
                
                
        Next
             chksum(index) = Doc_Hex(chk_sum(index))
             chksum(index) = Right(chksum(index), 2)
             frmB_7(index) = "AA" + frmB_7(index) + chksum(index) 'frmB1_2(0-7)=34byte
     Next

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Dim count As Integer
    Dim buffer As String
    Dim wait As String
    Dim Transport_Buffer
    Dim Receive_Buffer As String
    Dim delay_time As Double
    Dim delay_start As Double
    Dim delay_chk As Double
    Dim arrDownLoad(34) As Integer
    Dim Data(33) As Byte

    Dim length As Integer

    Dim number As Integer
    
' ProgressBar1.Value = ProgressBar1.Value = 2
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  '  Dim TotalStr(19 * 8) As String
     Dim TotalStr(28 * 8) As String
     
    count = 0
    For number = 0 To 7
            
        TotalStr(number) = TotalString1(count)
            count = count + 1
    Next
    
    count = 0
    For number = 8 To 15
               
            TotalStr(number) = TotalString2(count)
            count = count + 1
    Next
    
    count = 0
    For number = 16 To 23
       
            TotalStr(number) = TotalString3(count)
            count = count + 1
    Next
    
    count = 0
    For number = 24 To 31
    
            TotalStr(number) = TotalString4(count)
            count = count + 1
    Next
    
    count = 0
    For number = 32 To 39
      
        TotalStr(number) = TotalString5(count)
        count = count + 1
    Next
    
    count = 0
    For number = 40 To 47
     
        TotalStr(number) = TotalString6(count)
         count = count + 1
    Next
    
    count = 0
    For number = 48 To 55
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    count = 0                       '9 vicety 256 byte
    For number = 56 To 63
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
        count = 0
    For number = 64 To 71
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
    
        count = 0                       '9 vicety 256 byte
    For number = 72 To 79
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
        count = 0
    For number = 80 To 87
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
        count = 0                       '9 vicety 256 byte
    For number = 88 To 95
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
        count = 0
    For number = 96 To 103
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
    
        count = 0                       '9 vicety 256 byte
    For number = 104 To 111
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
        count = 0
    For number = 112 To 119
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
            count = 0
    For number = 120 To 127
        
        TotalStr(number) = TotalString7(count)
          count = count + 1
    Next
    
  ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''????
    count = 0
    For number = 128 To 135
    
        TotalStr(number) = frm_yibei_str(count)
         count = count + 1
    Next
    
    count = 0
    For number = 136 To 143
    
         TotalStr(number) = frm_tunqian_str(count)
         count = count + 1
    Next
    
    count = 0
    For number = 144 To 151
       
        TotalStr(number) = frm_tunhou_str(count)
         count = count + 1
    Next
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''????
    count = 0
     For number = 152 To 159
     
         TotalStr(number) = frmB_1(count)
         count = count + 1
    Next
    
     count = 0
     For number = 160 To 167
        
         TotalStr(number) = frmB_2(count)
         count = count + 1
    Next
    
     count = 0
     For number = 168 To 175
      
         TotalStr(number) = frmB_3(count)
         count = count + 1
    Next
    
    count = 0
    For number = 176 To 183
     
         TotalStr(number) = frmB_4(count)
         count = count + 1
    Next
    
    count = 0
    For number = 184 To 191
     
         TotalStr(number) = frmB_5(count)
         count = count + 1
    Next
    
    count = 0
    For number = 192 To 199
      
         TotalStr(number) = frmB_6(count)
         count = count + 1
    Next
    
    count = 0
    For number = 200 To 207
    
         TotalStr(number) = frmB_7(count)
         count = count + 1
    Next

    count = 0
    For number = 208 To 215
        TotalStr(number) = frm_jiaoji_str(count)
        count = count + 1
    Next
    
    count = 0
    For number = 216 To 223
        TotalStr(number) = frm_zuodian_str(count)
        count = count + 1
    Next
    


 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
   '  ProgressBar1.Value = 3 'ProgressBar1.Value + 1 'value=3
   
    ProgressBar1.Min = 0
    ProgressBar1.Max = 223 '151 '135
   ProgressBar1.Align = 2
   ProgressBar1.Visible = True
   
   
   
   
   
   
   
    For index = 0 To 27 '18 'P_number - 1       'block numbers =256 byte=17 block
    
    
        For number = index * 8 To index * 8 + 7 '32byte
            
            wait = ""
             
              ProgressBar1.Value = number
            
             buffer = TotalStr(number)
         
             length = Len(buffer)
             count = 1
             ''''''''''''''''''''''''''''''''''''''''''''''''''''
             For i = 1 To 34
             
    

               Data(i - 1) = Hex_Doc(Mid(buffer, count, 2))
               
                 count = count + 2
             Next
            Transport_Buffer = Data 'down load digial
            MSComm1.Output = Transport_Buffer
            Timer1.Enabled = True

            ProgressBar1.Value = number
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            If (number = index * 8 + 7) Then
                delay_time = 0.09  '秒delay time
                delay_start = Timer
                Do
                     delay_chk = delay_start + delay_time
               Loop Until Timer > delay_chk
  
                
                Receive_Buffer = read_mscomm1input() 'read input buffer
  
                wait = Mid(Receive_Buffer, 3, 2)
                 ProgressBar1.Value = number
                   
        
               If wait = "34" Then                   '0x34 receive 256 byte sucess
 
               '     Label3.Caption = "receive sucess"
                ElseIf wait = "31" Then               'redo'0X31  ERR
                 number = number - 1
                Else
                      Timer2.Enabled = False
                    MsgBox "Data DownLoad Error!" '" 资料下载出错1!"
                      
                    Exit Sub
                 '     frmDownLoad.Hide
                

                End If
                If index < 16 Then '重新等待接受下一个256byte
                 ProgressBar1.Value = number
                     delay_time = 0.09  '秒delay time
                      delay_start = Timer
                  Do
                     delay_chk = delay_start + delay_time
                     Loop Until Timer > delay_chk '上一个BUFFER receive 0x 38sucess
                   

                    ' Receive_Buffer = read_mscomm1input()

                     wait = Mid(Receive_Buffer, 15, 2)
                     
                     If wait = "38" Then
                       ' Label3.Caption = "receive sucess"
                     Else
                     
                    ' Label3.Caption = "receive sucess"
                     Timer2.Enabled = False
                    MsgBox "Data DownLoad Error!" '"资料下载出错2!"
                      
                    Exit Sub
                      ' frmDownLoad.Hide
                
                
                    End If
                 End If
            

            Else
             ProgressBar1.Value = number
                delay_time = 0.05  '秒delay time
                delay_start = Timer
               Do
                     delay_chk = delay_start + delay_time
                Loop Until Timer > delay_chk
             Receive_Buffer = read_mscomm1input()
               wait = Mid(Receive_Buffer, 3, 2)
                If wait = "32" Then       ' 0x32    receive 32byte sucess
                   'Label3.Caption = "receive sucess"

                ElseIf wait = "31" Then                'redo 0X31
                   number = number - 1
                Else
                ' Timer2.Enabled = False
                ' MsgBox "Data DownLoad Error/Com Port not Setting!" '"资料下载出错!"
                MsgBox "Data Communication Error!"
                
                 Timer2.Enabled = False
                      '  Unload frmDownLoad
                    Exit Sub
                 
                     
                    
                    
                End If
            
                ProgressBar1.Value = number
            End If
            
            
            Timer1.Enabled = False
            ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
            
            
            
        
        Next
  
        
    
     Next
        
        MsgBox "DownLoad Sucess!"
        
        
        

   
         ProgressBar1.Visible = False
         Timer2.Enabled = False
         
         
         frmDownLoad.Hide
         
             Timer2.Enabled = False
        
     

        For index = 0 To 12
             convert_code(index) = 1


        Next
        
Exit Sub

DownLoadErr:
Timer2.Enabled = False
  MsgBox Err.Description

        
        
End Sub


'Private Sub mnuStart_Click()
'        Timer2.Interval = 500
'        Timer2.Enabled = True
        
        
'End Sub

'End Sub

Public Function read_mscomm1input() As String
    Dim out() As Byte
    Dim qq As Integer
    Dim read_data() As Integer
    Dim inbuf_counter As Integer
    MSComm1.InputLen = 0
    MSComm1.InputMode = comInputModeBinary
    inbuf_counter = MSComm1.InBufferCount

    'ReDim out(12) As Byte
    
    
     ReDim read_data(inbuf_counter) As Integer
    out() = MSComm1.Input 'Receive ditiagl data not Hex data
          
      For qq = 0 To inbuf_counter - 1
      read_data(qq) = out(qq)
    Next
                
    For qq = 0 To inbuf_counter - 1
    
        read_mscomm1input = read_mscomm1input + Doc_Hex(read_data(qq))
        
    
    
    Next
    
    
End Function


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -