📄 define.bas
字号:
Attribute VB_Name = "DEFINE"
Global Const BUS1 = "80"
Global Const BUS2 = "81"
Public WATCHDOGDO
Public Enum com_modle_func_code
'write
SENDBYTE = &H1
WRITE_REG_1BYTE = &H2
WRITE_REG_NBYTE = &H3
'read
READ_1BYTE = &H10
READ_BLOCK = &H11
READ_Tempreture = &H12
READ_VENDOR_CODE = &H13
WATCHDOG = &H14
End Enum
Public Enum COMTYPE
I2C_COM = 1
OTHER = 2
End Enum
Public Enum AppleFuncode
SET_FAN_STOP = 1
DISABLE_FAN_STOP = 2
READ_VENDOR = 3
SET_FAN_SPEED_5000 = 4
SET_FAN_SPEED_7000 = 5
SET_FAN_SPEED_10000 = 6
SET_FAN_SPEED_15000 = 7
READ_FAN_SPEED = 8
READ_T = 9
SEND_BYTE = 10
READ_BYTE = 11
WATCH_DOG = 12
disable_WATCH_DOG = 13
End Enum
Type COMSTRING
CardAds As String
RW As String
FunctCode As String
ICTYPE As String
SlaveAds As String
RegAds As String
DataNo As String
value1 As String
Value2 As String
Value3 As String
Value4 As String
CRC01 As String
CRC02 As String
End Type
Public Function MakeSendString(fan As Integer, funct As Integer) As String
Dim sendstring As COMSTRING
Select Case fan
Case 1, 2, 3, 4
sendstring.CardAds = BUS1
Case 5, 6, 7
sendstring.CardAds = BUS2
End Select
Select Case funct
Case SEND_BYTE
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "07"
sendstring.DataNo = "01"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case READ_BYTE
sendstring.RW = "01"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "07"
sendstring.DataNo = "01"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case SET_FAN_STOP
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "07"
sendstring.DataNo = "01"
sendstring.value1 = "C0"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case DISABLE_FAN_STOP
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "07"
sendstring.DataNo = "01"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case READ_VENDOR
sendstring.RW = "01"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = "41"
sendstring.RegAds = "00"
sendstring.DataNo = "01"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case SET_FAN_SPEED_5000
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "AA"
sendstring.DataNo = "04"
sendstring.value1 = "D7"
sendstring.Value2 = "03"
sendstring.Value3 = "D1"
sendstring.Value4 = "05"
Case SET_FAN_SPEED_7000
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "AA"
sendstring.DataNo = "04"
sendstring.value1 = "BE"
sendstring.Value2 = "02"
sendstring.Value3 = "77"
sendstring.Value4 = "04"
Case SET_FAN_SPEED_10000
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "AA"
sendstring.DataNo = "04"
sendstring.value1 = "EB"
sendstring.Value2 = "01"
sendstring.Value3 = "0C"
sendstring.Value4 = "03"
Case SET_FAN_SPEED_15000
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "AA"
sendstring.DataNo = "04"
sendstring.value1 = "47"
sendstring.Value2 = "01"
sendstring.Value3 = "22"
sendstring.Value4 = "02"
Case READ_FAN_SPEED
sendstring.RW = "01"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "C9"
sendstring.DataNo = "04"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case READ_T
sendstring.RW = "01"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = SlaveAdsMake(fan)
sendstring.RegAds = "40"
sendstring.DataNo = "01"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
Case WATCH_DOG
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = "00"
sendstring.RegAds = "00"
sendstring.DataNo = "00"
sendstring.value1 = "01"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
WATCHDOGDO = 1
Case disable_WATCH_DOG
sendstring.RW = "02"
sendstring.FunctCode = FuncMake(funct)
sendstring.ICTYPE = d_hex(I2C_COM, 2)
sendstring.SlaveAds = "00"
sendstring.RegAds = "00"
sendstring.DataNo = "00"
sendstring.value1 = "00"
sendstring.Value2 = "00"
sendstring.Value3 = "00"
sendstring.Value4 = "00"
WATCHDOGDO = 1
End Select
MakeSendString = sendstring.CardAds + sendstring.RW + sendstring.FunctCode + _
sendstring.ICTYPE + sendstring.SlaveAds + sendstring.RegAds + sendstring.DataNo + _
sendstring.value1 + sendstring.Value2 + sendstring.Value3 + sendstring.Value4
End Function
Public Function SlaveAdsMake(fun As Integer) As String
Select Case fun
Case 1
SlaveAdsMake = "53"
Case 2
SlaveAdsMake = "52"
Case 3
SlaveAdsMake = "51"
Case 4
SlaveAdsMake = "50"
Case 5
SlaveAdsMake = "53"
Case 6
SlaveAdsMake = "52"
Case 7
SlaveAdsMake = "51"
End Select
End Function
Public Function FuncMake(func As Integer) As String
Dim str As Long
Select Case func
Case SET_FAN_STOP
str = WRITE_REG_1BYTE
Case DISABLE_FAN_STOP
str = WRITE_REG_1BYTE
Case READ_VENDOR
str = READ_VENDOR_CODE
Case SET_FAN_SPEED_5000
str = WRITE_REG_NBYTE
Case SET_FAN_SPEED_7000
str = WRITE_REG_NBYTE
Case SET_FAN_SPEED_10000
str = WRITE_REG_NBYTE
Case SET_FAN_SPEED_15000
str = WRITE_REG_NBYTE
Case READ_FAN_SPEED
str = READ_BLOCK
Case READ_T
str = READ_Tempreture
Case SEND_BYTE
str = SENDBYTE
Case READ_BYTE
str = READ_1BYTE
Case WATCH_DOG
str = WATCHDOG
Case disable_WATCH_DOG
str = WATCHDOG
End Select
FuncMake = d_hex(str, 4)
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -