主要用于控制三相电能表检验装置

源代码在线查看: crc.bas

软件大小: 372 K
上传用户: wendaoysh
关键词: 控制 三相电能表 装置
下载地址: 免注册下载 普通下载 VIP

相关代码

				Attribute VB_Name = "Module3"
				Public Crc_16_tab(255) As Long
				Function Crc_Init()
				Crc_16_tab(0) = &H0
				Crc_16_tab(1) = &H1021
				Crc_16_tab(2) = &H2042
				Crc_16_tab(3) = &H3063
				Crc_16_tab(4) = &H4084
				Crc_16_tab(5) = &H50A5
				Crc_16_tab(6) = &H60C6
				Crc_16_tab(7) = &H70E7
				Crc_16_tab(8) = &H8108
				Crc_16_tab(9) = &H9129
				Crc_16_tab(10) = &HA14A
				Crc_16_tab(11) = &HB16B
				Crc_16_tab(12) = &HC18C
				Crc_16_tab(13) = &HD1AD
				Crc_16_tab(14) = &HE1CE
				Crc_16_tab(15) = &HF1EF
				Crc_16_tab(16) = &H1231
				Crc_16_tab(17) = &H210
				Crc_16_tab(18) = &H3273
				Crc_16_tab(19) = &H2252
				Crc_16_tab(20) = &H52B5
				Crc_16_tab(21) = &H4294
				Crc_16_tab(22) = &H72F7
				Crc_16_tab(23) = &H62D6
				Crc_16_tab(24) = &H9339
				Crc_16_tab(25) = &H8318
				Crc_16_tab(26) = &HB37B
				Crc_16_tab(27) = &HA35A
				Crc_16_tab(28) = &HD3BD
				Crc_16_tab(29) = &HC39C
				Crc_16_tab(30) = &HF3FF
				Crc_16_tab(31) = &HE3DE
				Crc_16_tab(32) = &H2462
				Crc_16_tab(33) = &H3443
				Crc_16_tab(34) = &H420
				Crc_16_tab(35) = &H1401
				Crc_16_tab(36) = &H64E6
				Crc_16_tab(37) = &H74C7
				Crc_16_tab(38) = &H44A4
				Crc_16_tab(39) = &H5485
				Crc_16_tab(40) = &HA56A
				Crc_16_tab(41) = &HB54B
				Crc_16_tab(42) = &H8528
				Crc_16_tab(43) = &H9509
				Crc_16_tab(44) = &HE5EE
				Crc_16_tab(45) = &HF5CF
				Crc_16_tab(46) = &HC5AC
				Crc_16_tab(47) = &HD58D
				Crc_16_tab(48) = &H3653
				Crc_16_tab(49) = &H2672
				Crc_16_tab(50) = &H1611
				Crc_16_tab(51) = &H630
				Crc_16_tab(52) = &H76D7
				Crc_16_tab(53) = &H66F6
				Crc_16_tab(54) = &H5695
				Crc_16_tab(55) = &H46B4
				Crc_16_tab(56) = &HB75B
				Crc_16_tab(57) = &HA77A
				Crc_16_tab(58) = &H9719
				Crc_16_tab(59) = &H8738
				Crc_16_tab(60) = &HF7DF
				Crc_16_tab(61) = &HE7FE
				Crc_16_tab(62) = &HD79D
				Crc_16_tab(63) = &HC7BC
				Crc_16_tab(64) = &H48C4
				Crc_16_tab(65) = &H58E5
				Crc_16_tab(66) = &H6886
				Crc_16_tab(67) = &H78A7
				Crc_16_tab(68) = &H840
				Crc_16_tab(69) = &H1861
				Crc_16_tab(70) = &H2802
				Crc_16_tab(71) = &H3823
				Crc_16_tab(72) = &HC9CC
				Crc_16_tab(73) = &HD9ED
				Crc_16_tab(74) = &HE98E
				Crc_16_tab(75) = &HF9AF
				Crc_16_tab(76) = &H8948
				Crc_16_tab(77) = &H9969
				Crc_16_tab(78) = &HA90A
				Crc_16_tab(79) = &HB92B
				Crc_16_tab(80) = &H5AF5
				Crc_16_tab(81) = &H4AD4
				Crc_16_tab(82) = &H7AB7
				Crc_16_tab(83) = &H6A96
				Crc_16_tab(84) = &H1A71
				Crc_16_tab(85) = &HA50
				Crc_16_tab(86) = &H3A33
				Crc_16_tab(87) = &H2A12
				Crc_16_tab(88) = &HDBFD
				Crc_16_tab(89) = &HCBDC
				Crc_16_tab(90) = &HFBBF
				Crc_16_tab(91) = &HEB9E
				Crc_16_tab(92) = &H9B79
				Crc_16_tab(93) = &H8B58
				Crc_16_tab(94) = &HBB3B
				Crc_16_tab(95) = &HAB1A
				Crc_16_tab(96) = &H6CA6
				Crc_16_tab(97) = &H7C87
				Crc_16_tab(98) = &H4CE4
				Crc_16_tab(99) = &H5CC5
				Crc_16_tab(100) = &H2C22
				Crc_16_tab(101) = &H3C03
				Crc_16_tab(102) = &HC60
				Crc_16_tab(103) = &H1C41
				Crc_16_tab(104) = &HEDAE
				Crc_16_tab(105) = &HFD8F
				Crc_16_tab(106) = &HCDEC
				Crc_16_tab(107) = &HDDCD
				Crc_16_tab(108) = &HAD2A
				Crc_16_tab(109) = &HBD0B
				Crc_16_tab(110) = &H8D68
				Crc_16_tab(111) = &H9D49
				Crc_16_tab(112) = &H7E97
				Crc_16_tab(113) = &H6EB6
				Crc_16_tab(114) = &H5ED5
				Crc_16_tab(115) = &H4EF4
				Crc_16_tab(116) = &H3E13
				Crc_16_tab(117) = &H2E32
				Crc_16_tab(118) = &H1E51
				Crc_16_tab(119) = &HE70
				Crc_16_tab(120) = &HFF9F
				Crc_16_tab(121) = &HEFBE
				Crc_16_tab(122) = &HDFDD
				Crc_16_tab(123) = &HCFFC
				Crc_16_tab(124) = &HBF1B
				Crc_16_tab(125) = &HAF3A
				Crc_16_tab(126) = &H9F59
				Crc_16_tab(127) = &H8F78
				Crc_16_tab(128) = &H9188
				Crc_16_tab(129) = &H81A9
				Crc_16_tab(130) = &HB1CA
				Crc_16_tab(131) = &HA1EB
				Crc_16_tab(132) = &HD10C
				Crc_16_tab(133) = &HC12D
				Crc_16_tab(134) = &HF14E
				Crc_16_tab(135) = &HE16F
				Crc_16_tab(136) = &H1080
				Crc_16_tab(137) = &HA1
				Crc_16_tab(138) = &H30C2
				Crc_16_tab(139) = &H20E3
				Crc_16_tab(140) = &H5004
				Crc_16_tab(141) = &H4025
				Crc_16_tab(142) = &H7046
				Crc_16_tab(143) = &H6067
				Crc_16_tab(144) = &H83B9
				Crc_16_tab(145) = &H9398
				Crc_16_tab(146) = &HA3FB
				Crc_16_tab(147) = &HB3DA
				Crc_16_tab(148) = &HC33D
				Crc_16_tab(149) = &HD31C
				Crc_16_tab(150) = &HE37F
				Crc_16_tab(151) = &HF35E
				Crc_16_tab(152) = &H2B1
				Crc_16_tab(153) = &H1290
				Crc_16_tab(154) = &H22F3
				Crc_16_tab(155) = &H32D2
				Crc_16_tab(156) = &H4235
				Crc_16_tab(157) = &H5214
				Crc_16_tab(158) = &H6277
				Crc_16_tab(159) = &H7256
				Crc_16_tab(160) = &HB5EA
				Crc_16_tab(161) = &HA5CB
				Crc_16_tab(162) = &H95A8
				Crc_16_tab(163) = &H8589
				Crc_16_tab(164) = &HF56E
				Crc_16_tab(165) = &HE54F
				Crc_16_tab(166) = &HD52C
				Crc_16_tab(167) = &HC50D
				Crc_16_tab(168) = &H34E2
				Crc_16_tab(169) = &H24C3
				Crc_16_tab(170) = &H14A0
				Crc_16_tab(171) = &H481
				Crc_16_tab(172) = &H7466
				Crc_16_tab(173) = &H6447
				Crc_16_tab(174) = &H5424
				Crc_16_tab(175) = &H4405
				Crc_16_tab(176) = &HA7DB
				Crc_16_tab(177) = &HB7FA
				Crc_16_tab(178) = &H8799
				Crc_16_tab(179) = &H97B8
				Crc_16_tab(180) = &HE75F
				Crc_16_tab(181) = &HF77E
				Crc_16_tab(182) = &HC71D
				Crc_16_tab(183) = &HD73C
				Crc_16_tab(184) = &H26D3
				Crc_16_tab(185) = &H36F2
				Crc_16_tab(186) = &H691
				Crc_16_tab(187) = &H16B0
				Crc_16_tab(188) = &H6657
				Crc_16_tab(189) = &H7676
				Crc_16_tab(190) = &H4615
				Crc_16_tab(191) = &H5634
				Crc_16_tab(192) = &HD94C
				Crc_16_tab(193) = &HC96D
				Crc_16_tab(194) = &HF90E
				Crc_16_tab(195) = &HE92F
				Crc_16_tab(196) = &H99C8
				Crc_16_tab(197) = &H89E9
				Crc_16_tab(198) = &HB98A
				Crc_16_tab(199) = &HA9AB
				Crc_16_tab(200) = &H5844
				Crc_16_tab(201) = &H4865
				Crc_16_tab(202) = &H7806
				Crc_16_tab(203) = &H6827
				Crc_16_tab(204) = &H18C0
				Crc_16_tab(205) = &H8E1
				Crc_16_tab(206) = &H3882
				Crc_16_tab(207) = &H28A3
				Crc_16_tab(208) = &HCB7D
				Crc_16_tab(209) = &HDB5C
				Crc_16_tab(210) = &HEB3F
				Crc_16_tab(211) = &HFB1E
				Crc_16_tab(212) = &H8BF9
				Crc_16_tab(213) = &H9BD8
				Crc_16_tab(214) = &HABBB
				Crc_16_tab(215) = &HBB9A
				Crc_16_tab(216) = &H4A75
				Crc_16_tab(217) = &H5A54
				Crc_16_tab(218) = &H6A37
				Crc_16_tab(219) = &H7A16
				Crc_16_tab(220) = &HAF1
				Crc_16_tab(221) = &H1AD0
				Crc_16_tab(222) = &H2AB3
				Crc_16_tab(223) = &H3A92
				Crc_16_tab(224) = &HFD2E
				Crc_16_tab(225) = &HED0F
				Crc_16_tab(226) = &HDD6C
				Crc_16_tab(227) = &HCD4D
				Crc_16_tab(228) = &HBDAA
				Crc_16_tab(229) = &HAD8B
				Crc_16_tab(230) = &H9DE8
				Crc_16_tab(231) = &H8DC9
				Crc_16_tab(232) = &H7C26
				Crc_16_tab(233) = &H6C07
				Crc_16_tab(234) = &H5C64
				Crc_16_tab(235) = &H4C45
				Crc_16_tab(236) = &H3CA2
				Crc_16_tab(237) = &H2C83
				Crc_16_tab(238) = &H1CE0
				Crc_16_tab(239) = &HCC1
				Crc_16_tab(240) = &HEF1F
				Crc_16_tab(241) = &HFF3E
				Crc_16_tab(242) = &HCF5D
				Crc_16_tab(243) = &HDF7C
				Crc_16_tab(244) = &HAF9B
				Crc_16_tab(245) = &HBFBA
				Crc_16_tab(246) = &H8FD9
				Crc_16_tab(247) = &H9FF8
				Crc_16_tab(248) = &H6E17
				Crc_16_tab(249) = &H7E36
				Crc_16_tab(250) = &H4E55
				Crc_16_tab(251) = &H5E74
				Crc_16_tab(252) = &H2E93
				Crc_16_tab(253) = &H3EB2
				Crc_16_tab(254) = &HED1
				Crc_16_tab(255) = &H1EF0
				End Function
				'计算CRC校验码
				Function CRC_Cal(CRC As Double, Data() As Byte, DataLen As Integer) As Long
				      Dim i As Integer
				      Dim TalbeIndex As Byte
				      Dim temp As Double
				      Dim temp2 As Double
				      For i = 0 To DataLen - 1
				         temp = CRC And &HFF00
				         temp = temp / 256
				         temp = temp Xor Data(i)
				         
				         TalbeIndex = temp And &HFF
				         temp = CRC
				         temp = temp And &HFF
				         temp = temp * 256
				         temp2 = Crc_16_tab(TalbeIndex)
				         'If temp2 < 0 Then
				            't'emp2 = &H10000 + temp2
				         'End If
				         temp = temp Xor temp2
				         CRC = temp And &HFFFF
				         
				      Next i
				      CRC_Cal = CRC
				End Function
				
							

相关资源