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

📄 comprotocol.bas

📁 VB代码
💻 BAS
📖 第 1 页 / 共 3 页
字号:
'    PGMDeviceLib(6).DeviceMaxCodeLength = 16384
'    PGMDeviceLib(6).DeviceNameString = "ST27C128B"
    'PGMDeviceLib(6).DeviceSeriesNumber = &H2
    'PGMDeviceLib(6).DeviceSignature = "20 0A 9B"
'    PGMDeviceLib(6).DeviceSeriesNumber = c_DeviceSeriesNumber_ST27C128B
'    PGMDeviceLib(6).DeviceSignature = c_DeviceSignature_ST27C128B
    
'ST27C4001
'    PGMDeviceLib(7).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_ST27C040
'    PGMDeviceLib(7).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(7).DeviceManufacturerID = c_DeviceManufacturerID_ST
'    PGMDeviceLib(7).DeviceManufacturerName = "ST"
'    PGMDeviceLib(7).DeviceMaxCodeLength = &H80000
'    PGMDeviceLib(7).DeviceNameString = "ST27C4001"
    'PGMDeviceLib(7).DeviceSeriesNumber = 3
    'PGMDeviceLib(7).DeviceSignature = "20 41 9C"
'    PGMDeviceLib(7).DeviceSeriesNumber = c_DeviceSeriesNumber_ST27C4001
'    PGMDeviceLib(7).DeviceSignature = c_DeviceSignature_ST27C4001
        
'AM29F040
'    PGMDeviceLib(8).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AM29F040B
'    PGMDeviceLib(8).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(8).DeviceManufacturerID = c_DeviceManufacturerID_AMD
'    PGMDeviceLib(8).DeviceManufacturerName = "AMD"
'    PGMDeviceLib(8).DeviceMaxCodeLength = &H80000
'    PGMDeviceLib(8).DeviceNameString = "AM29F040B"
    'PGMDeviceLib(8).DeviceSeriesNumber = 0
    'PGMDeviceLib(8).DeviceSignature = "01 A4 00"
'    PGMDeviceLib(8).DeviceSeriesNumber = c_DeviceSeriesNumber_AM29F040B
'    PGMDeviceLib(8).DeviceSignature = c_DeviceSignature_AM29F040B
        
'AT89C52
'    PGMDeviceLib(9).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT89C52
'    PGMDeviceLib(9).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(9).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(9).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(9).DeviceMaxCodeLength = &H2000
'    PGMDeviceLib(9).DeviceNameString = "AT89C52"
'    PGMDeviceLib(9).DeviceSeriesNumber = 2
'    PGMDeviceLib(9).DeviceSignature = "1E 52 FF"
'    PGMDeviceLib(9).DeviceSeriesNumber = c_DeviceSeriesNumber_AT89C52
'    PGMDeviceLib(9).DeviceSignature = c_DeviceSignature_AT89C52
    
'W29C020
'    PGMDeviceLib(10).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_W29C020
'    PGMDeviceLib(10).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(10).DeviceManufacturerID = c_DeviceManufacturerID_Winbond
'    PGMDeviceLib(10).DeviceManufacturerName = "Winbond"
'    PGMDeviceLib(10).DeviceMaxCodeLength = &H40000
'    PGMDeviceLib(10).DeviceNameString = "W29C020"
'    PGMDeviceLib(10).DeviceSeriesNumber = 1
'    PGMDeviceLib(10).DeviceSignature = "DA 45 00"
'    PGMDeviceLib(10).DeviceSeriesNumber = c_DeviceSeriesNumber_W29C020
'    PGMDeviceLib(10).DeviceSignature = c_DeviceSignature_W29C020
    
'AT24C02
'    PGMDeviceLib(11).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT24C02
'    PGMDeviceLib(11).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(11).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(11).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(11).DeviceMaxCodeLength = 256
'    PGMDeviceLib(11).DeviceNameString = "AT24C02"
 '   PGMDeviceLib(11).DeviceSeriesNumber = 128
 '   PGMDeviceLib(11).DeviceSignature = "24 C0 02"
'    PGMDeviceLib(11).DeviceSeriesNumber = c_DeviceSeriesNumber_AT24C02
'    PGMDeviceLib(11).DeviceSignature = c_DeviceSignature_AT24C02
    
'AT93C46
'    PGMDeviceLib(12).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT93C46
'    PGMDeviceLib(12).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(12).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(12).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(12).DeviceMaxCodeLength = 128
'    PGMDeviceLib(12).DeviceNameString = "AT93C46"
  '  PGMDeviceLib(12).DeviceSeriesNumber = &HC0
  '  PGMDeviceLib(12).DeviceSignature = "93 C0 46"
'    PGMDeviceLib(12).DeviceSeriesNumber = c_DeviceSeriesNumber_AT93C46
'    PGMDeviceLib(12).DeviceSignature = c_DeviceSignature_AT93C46
    
'AT89S51
'    PGMDeviceLib(13).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT89S51
'    PGMDeviceLib(13).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(13).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
''    PGMDeviceLib(13).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(13).DeviceMaxCodeLength = &H1000
'    PGMDeviceLib(13).DeviceNameString = "AT89S51"
   ' PGMDeviceLib(13).DeviceSeriesNumber = 1
   ' PGMDeviceLib(13).DeviceSignature = "1E 51 06"
'    PGMDeviceLib(13).DeviceSeriesNumber = c_DeviceSeriesNumber_AT89S51
'    PGMDeviceLib(13).DeviceSignature = c_DeviceSignature_AT89S51
   
'AT89C55WD
'    PGMDeviceLib(14).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT89C55WD
'    PGMDeviceLib(14).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(14).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(14).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(14).DeviceMaxCodeLength = &H5000
'    PGMDeviceLib(14).DeviceNameString = "AT89C55WD"
   ' PGMDeviceLib(14).DeviceSeriesNumber = 3
   ' PGMDeviceLib(14).DeviceSignature = "1E 55 06"
'    PGMDeviceLib(14).DeviceSeriesNumber = c_DeviceSeriesNumber_AT89C55WD
'    PGMDeviceLib(14).DeviceSignature = c_DeviceSignature_AT89C55WD
        
'W78E52B
'    PGMDeviceLib(15).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_W78E52B
'    PGMDeviceLib(15).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(15).DeviceManufacturerID = c_DeviceManufacturerID_Winbond
'    PGMDeviceLib(15).DeviceManufacturerName = "Winbond"
'    PGMDeviceLib(15).DeviceMaxCodeLength = &H2000
'    PGMDeviceLib(15).DeviceNameString = "W78E52B"
'    PGMDeviceLib(15).DeviceSeriesNumber = 0
'    PGMDeviceLib(15).DeviceSignature = "78 0E 58"
'    PGMDeviceLib(15).DeviceSeriesNumber = c_DeviceSeriesNumber_W78E52B
'    PGMDeviceLib(15).DeviceSignature = c_DeviceSignature_W78E52B
    
'AT89C51
'    PGMDeviceLib(16).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT89C51
'    PGMDeviceLib(16).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(16).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(16).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(16).DeviceMaxCodeLength = &H1000
'    PGMDeviceLib(16).DeviceNameString = "AT89C51"
 '   PGMDeviceLib(16).DeviceSeriesNumber = 4
 '   PGMDeviceLib(16).DeviceSignature = "1E 51 FF"
'    PGMDeviceLib(16).DeviceSeriesNumber = c_DeviceSeriesNumber_AT89C51
'    PGMDeviceLib(16).DeviceSignature = c_DeviceSignature_AT89C51
    
'AT89S52
'    PGMDeviceLib(17).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT89S52
'    PGMDeviceLib(17).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(17).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(17).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(17).DeviceMaxCodeLength = &H2000
'    PGMDeviceLib(17).DeviceNameString = "AT89S52"
  '  PGMDeviceLib(17).DeviceSeriesNumber = 5
  '  PGMDeviceLib(17).DeviceSignature = "1E 52 06"
'    PGMDeviceLib(17).DeviceSeriesNumber = c_DeviceSeriesNumber_AT89S52
'    PGMDeviceLib(17).DeviceSignature = c_DeviceSignature_AT89S52
    
'AT89C4051
'    PGMDeviceLib(18).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AT89C4051
'    PGMDeviceLib(18).DeviceGroup = c_DeviceGroup_MCU
'    PGMDeviceLib(18).DeviceManufacturerID = c_DeviceManufacturerID_Atmel
'    PGMDeviceLib(18).DeviceManufacturerName = "Atmel"
'    PGMDeviceLib(18).DeviceMaxCodeLength = &H1000
'    PGMDeviceLib(18).DeviceNameString = "AT89C4051"
   ' PGMDeviceLib(18).DeviceSeriesNumber = 6
   ' PGMDeviceLib(18).DeviceSignature = "1E 41 FF"
'    PGMDeviceLib(18).DeviceSeriesNumber = c_DeviceSeriesNumber_AT89C4051
'    PGMDeviceLib(18).DeviceSignature = c_DeviceSignature_AT89C4051
    
'NMC27C64Q
'    PGMDeviceLib(19).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_NMC27C64Q
'    PGMDeviceLib(19).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(19).DeviceManufacturerID = c_DeviceManufacturerID_NS
'    PGMDeviceLib(19).DeviceManufacturerName = "NS"
'    PGMDeviceLib(19).DeviceMaxCodeLength = &H2000
'    PGMDeviceLib(19).DeviceNameString = "NMC27C64Q"
    'PGMDeviceLib(19).DeviceSeriesNumber = &H0
    'PGMDeviceLib(19).DeviceSignature = "8F C2 9B"
'    PGMDeviceLib(19).DeviceSeriesNumber = c_DeviceSeriesNumber_NMC27C64Q
'    PGMDeviceLib(19).DeviceSignature = c_DeviceSignature_NMC27C64Q
    
'AM28F256
 '   PGMDeviceLib(20).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AM28F256
 '   PGMDeviceLib(20).DeviceGroup = c_DeviceGroup_MEM
 '   PGMDeviceLib(20).DeviceManufacturerID = c_DeviceManufacturerID_AMD
 '   PGMDeviceLib(20).DeviceManufacturerName = "AMD"
 '   PGMDeviceLib(20).DeviceMaxCodeLength = 32768
 '   PGMDeviceLib(20).DeviceNameString = "AM28F256"
    'PGMDeviceLib(20).DeviceSeriesNumber = 1
    'PGMDeviceLib(20).DeviceSignature = "01 A1 00"
 '   PGMDeviceLib(20).DeviceSeriesNumber = c_DeviceSeriesNumber_AM28F256
 '   PGMDeviceLib(20).DeviceSignature = c_DeviceSignature_AM28F256
    
'AM28F020
'    PGMDeviceLib(21).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_AM28F020
'    PGMDeviceLib(21).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(21).DeviceManufacturerID = c_DeviceManufacturerID_AMD
'    PGMDeviceLib(21).DeviceManufacturerName = "AMD"
'    PGMDeviceLib(21).DeviceMaxCodeLength = &H20000
'    PGMDeviceLib(21).DeviceNameString = "AM28F020"
    'PGMDeviceLib(21).DeviceSeriesNumber = 2
    'PGMDeviceLib(21).DeviceSignature = "01 2A 00"
'    PGMDeviceLib(21).DeviceSeriesNumber = c_DeviceSeriesNumber_AM28F020
'    PGMDeviceLib(21).DeviceSignature = c_DeviceSignature_AT28F020
    
'W27E512
'    PGMDeviceLib(22).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_W27E512
'    PGMDeviceLib(22).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(22).DeviceManufacturerID = c_DeviceManufacturerID_Winbond
'    PGMDeviceLib(22).DeviceManufacturerName = "Winbond"
'    PGMDeviceLib(22).DeviceMaxCodeLength = 65536
'    PGMDeviceLib(22).DeviceNameString = "W27E512"
    'PGMDeviceLib(22).DeviceSeriesNumber = 0
    'PGMDeviceLib(22).DeviceSignature = "DA 08 A0"
'    PGMDeviceLib(22).DeviceSeriesNumber = c_DeviceSeriesNumber_W27E512
'    PGMDeviceLib(22).DeviceSignature = c_DeviceSignature_W27E512
    
'W29C040
'    PGMDeviceLib(23).DeviceCompleteIDNumber = c_DeviceCompleteIDNumber_W29C040
'    PGMDeviceLib(23).DeviceGroup = c_DeviceGroup_MEM
'    PGMDeviceLib(23).DeviceManufacturerID = c_DeviceManufacturerID_Winbond
'    PGMDeviceLib(23).DeviceManufacturerName = "Winbond"
'    PGMDeviceLib(23).DeviceMaxCodeLength = &H80000
'    PGMDeviceLib(23).DeviceNameString = "W29C040"
    'PGMDeviceLib(23).DeviceSeriesNumber = 2
    'PGMDeviceLib(23).DeviceSignature = "DA 46 00"
'    PGMDeviceLib(23).DeviceSeriesNumber = c_DeviceSeriesNumber_W29C040
'    PGMDeviceLib(23).DeviceSignature = c_DeviceSignature_W29C040
    
End Sub

Function TestProgramDeviceHardWare() As Boolean
    Dim bFunctionReturnValue As Boolean
   
    bFunctionReturnValue = False
    
    FrmMain.LblOperationInfoDisp.Caption = "开始进行联机操作,请稍候......"
    Call ClearComInputBuff
    
    ucComSendDataBuff(0) = &H1B
    ucComSendDataBuff(1) = &H10
    ucComSendDataBuff(2) = &H0
    ucComSendDataBuff(3) = &H0
    ucComSendDataBuff(4) = &H5
    ucComSendDataBuff(5) = SendDataBuffCheckSum(5)
    ucComSendDataLength = 6
    Call ComSendData
    
    If (ComReceivePackage(6)) Then
        If ((ucReceiveDataBuff(0) = c_OKPack_HeadByte1) And (ucReceiveDataBuff(1) = c_OKPack_HeadByte2)) Then
        
            Dim sTempDebugString As String
        
            sTempDebugString = ConvertComReceiveToDispString()
            FrmMain.LblOperationInfoDisp.Caption = sTempDebugString
            bFunctionReturnValue = True
        ElseIf ((ucReceiveDataBuff(0) = c_ERRPack_HeadByte1) And (ucReceiveDataBuff(1) = c_ERRPack_HeadByte2)) Then
            Dim sTempDispString As String
            
            sTempDispString = "执行当前命令时出现错误,错误号为:" & CStr(ucReceiveDataBuff(3))
            
            MsgBox sTempDispString, vbCritical, "请注意"
        Else
            MsgBox "发生未知的错误", vbCritical + vbOKOnly, "请注意"
        End If
    End If
    
    TestProgramDeviceHardWare = bFunctionReturnValue
End Function

Function CMD_EraseChip() As Boolean
    
    Dim bFunctionReturnValue As Boolean
    Dim sTempString As String
   
    bFunctionReturnValue = False
    
    Call ClearComInputBuff
    sComSendDataBuff = ":0100000307F5"
    Call ComSendData
    Delay (15000)       '整片擦除时间小于15S
    
    If (ComReceivePackage(14)) Then
            sTempString = Right(sComReceiveDataBuff, 1)
            If (StrComp(sTempString, ".") = 0) Then
                bFunctionReturnValue = True
            Else
               Call MsgBox("擦除操作发生错误!", vbCritical, "请检查")
            End If
    Else
       Call MsgBox("擦除操作发生错误!", vbCritical, "请检查")
    End If
   
    CMD_EraseChip = bFunctionReturnValue
End Function
Function Cmd_SelectProgramDeviceIDNumber() As Boolean
    Dim bFunctionReturnValue As Boolean
    Dim sTempString As String
    Dim ucComReadDataLen As Byte

    bFunctionReturnValue = False
    
    FrmMain.MSComm1.DTREnable = True
    FrmMain.MSComm1.RTSEnable = True
    Delay (500)
    FrmMain.MSComm1.RTSEnable = False
    
    Call ClearComInputBuff
    
    sComSendDataBuff = "U"
    Call ComSendData
    Delay (1)
    sComSendDataBuff = "U"
    Call ComSendData
    Delay (1)
    sComSendDataBuff = "U"
    Call ComSendData
    Delay (1)
    sComSendDataBuff = "U"
    Call ComSendData
    Delay (1)
    sComSendDataBuff = "U"
    Call ComSendData
    Delay (1)
    sComSendDataBuff = "U"
    Call ComSendData
    Delay (1)
    
    
    If (ComReceivePackage(6)) Then
        

⌨️ 快捷键说明

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