📄 comprotocol.bas
字号:
' 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 + -