<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=48&amp;t=5846&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-02-11T16:46:41+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=48&amp;t=5846&amp;mode</id>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-02-11T16:46:41+01:00</updated>
<published>2014-02-11T16:46:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=69894#p69894</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=69894#p69894"/>
<title type="html"><![CDATA[Re: [VB.NET] CRC 16 Jak? Prosto i szybko.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=69894#p69894"><![CDATA[
najprościej szukać u źródła :<br /><br /><!-- m --><a class="postlink" href="http://social.msdn.microsoft.com/Forums/vstudio/en-US/167896b7-8fbf-425a-81eb-84200e353782/crc-control-in-vbnet?forum=vbgeneral" >http://social.msdn.microsoft.com/Forums ... =vbgeneral</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 11 lut 2014, o 16:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mopsiok]]></name></author>
<updated>2014-02-09T20:22:25+01:00</updated>
<published>2014-02-09T20:22:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=69523#p69523</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=69523#p69523"/>
<title type="html"><![CDATA[Re: [VB.NET] CRC 16 Jak? Prosto i szybko.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=69523#p69523"><![CDATA[
Nie wiem czy to wina składni VB, ale powyższy kod jest strasznie długi <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" />. Kiedyś miałem podobny problem i trochę szukałem odpowiedniego kodu (jest kilka odmian CRC16 i mają one różne wartości inicjujące), więc pozwolę sobie wrzucić wersję napisaną w C#. Sprawdzałem i zwraca identyczne wartości jak CRC z avrgcc (rozumiem że mówimy o util/crc16.h).<br />[syntax=csharp]ushort&#91;&#93; crc16arr = { 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 };<br />ushort Crc16(byte&#91;&#93; data) //na podstawie http://bytes.com/topic/python/answers/27677-crc-16-a<br />        { <br />            ushort crcValue = 0;<br />            <br />            foreach (byte b in data)<br />            {<br />                ushort tmp = (ushort)(crcValue ^ b);<br />                crcValue = (ushort)((crcValue &gt;&gt; 8) ^ crc16arr&#91;(tmp &amp; 0xff)&#93;);<br />            }<br />            return crcValue;<br />        }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1371">mopsiok</a> — 9 lut 2014, o 20:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2014-02-06T09:11:21+01:00</updated>
<published>2014-02-06T09:11:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=68700#p68700</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=68700#p68700"/>
<title type="html"><![CDATA[Re: [VB.NET] CRC 16 Jak? Prosto i szybko.]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=5846&amp;p=68700#p68700"><![CDATA[
jednym chyba dość przejrzystym przykładem może być prezentowany kod w książce : <br />Richarda L. Griera ,<strong>Visual Basic Programmer's Guide to Serial Communications 4</strong><br /><br /><br />[syntax=vbnet]Option Explicit<br /><br />'Copyright Richard L. Grier, 2006<br /><br />Public Function CRC16A(Buffer() As Byte) As Long<br />Dim I As Long<br />Dim Temp As Long<br />Dim CRC As Long<br />Dim J As Integer<br />  For I = 0 To UBound(Buffer) - 1<br />    Temp = Buffer(I) * &amp;H100&amp;<br />    CRC = CRC Xor Temp<br />      For J = 0 To 7<br />        If (CRC And &amp;H8000&amp;) Then<br />          CRC = ((CRC * 2) Xor &amp;H1021&amp;) And &amp;HFFFF&amp;<br />        Else<br />          CRC = (CRC * 2) And &amp;HFFFF&amp;<br />        End If<br />      Next J<br />  Next I<br />  CRC16A = CRC And &amp;HFFFF<br />End Function<br /><br />Function Crc16(cp() As Byte, Optional ByVal Size As Long = -1) As Long<br /> Dim I As Long<br /> Dim fcs As Long<br /> Static fcstab(255) As Long<br /> <br /> Const pppinitfcs16 = &amp;HFFFF&amp; 'Initial FCS value<br /> <br /> If Size &lt; 0 Then Size = UBound(cp) - LBound(cp) + 1<br /><br /> If fcstab(1) = 0 Then<br />  ' Initialize array once and for all<br />  fcstab(0) = &amp;H0&amp;<br />  fcstab(1) = &amp;H1189&amp;<br />  fcstab(2) = &amp;H2312&amp;<br />  fcstab(3) = &amp;H329B&amp;<br />  fcstab(4) = &amp;H4624&amp;<br />  fcstab(5) = &amp;H57AD&amp;<br />  fcstab(6) = &amp;H6536&amp;<br />  fcstab(7) = &amp;H74BF&amp;<br />  fcstab(8) = &amp;H8C48&amp;<br />  fcstab(9) = &amp;H9DC1&amp;<br />  fcstab(10) = &amp;HAF5A&amp;<br />  fcstab(11) = &amp;HBED3&amp;<br />  fcstab(12) = &amp;HCA6C&amp;<br />  fcstab(13) = &amp;HDBE5&amp;<br />  fcstab(14) = &amp;HE97E&amp;<br />  fcstab(15) = &amp;HF8F7&amp;<br />  fcstab(16) = &amp;H1081&amp;<br />  fcstab(17) = &amp;H108&amp;<br />  fcstab(18) = &amp;H3393&amp;<br />  fcstab(19) = &amp;H221A&amp;<br />  fcstab(20) = &amp;H56A5&amp;<br />  fcstab(21) = &amp;H472C&amp;<br />  fcstab(22) = &amp;H75B7&amp;<br />  fcstab(23) = &amp;H643E&amp;<br />  fcstab(24) = &amp;H9CC9&amp;<br />  fcstab(25) = &amp;H8D40&amp;<br />  fcstab(26) = &amp;HBFDB&amp;<br />  fcstab(27) = &amp;HAE52&amp;<br />  fcstab(28) = &amp;HDAED&amp;<br />  fcstab(29) = &amp;HCB64&amp;<br />  fcstab(30) = &amp;HF9FF&amp;<br />  fcstab(31) = &amp;HE876&amp;<br />  fcstab(32) = &amp;H2102&amp;<br />  fcstab(33) = &amp;H308B&amp;<br />  fcstab(34) = &amp;H210&amp;<br />  fcstab(35) = &amp;H1399&amp;<br />  fcstab(36) = &amp;H6726&amp;<br />  fcstab(37) = &amp;H76AF&amp;<br />  fcstab(38) = &amp;H4434&amp;<br />  fcstab(39) = &amp;H55BD&amp;<br />  fcstab(40) = &amp;HAD4A&amp;<br />  fcstab(41) = &amp;HBCC3&amp;<br />  fcstab(42) = &amp;H8E58&amp;<br />  fcstab(43) = &amp;H9FD1&amp;<br />  fcstab(44) = &amp;HEB6E&amp;<br />  fcstab(45) = &amp;HFAE7&amp;<br />  fcstab(46) = &amp;HC87C&amp;<br />  fcstab(47) = &amp;HD9F5&amp;<br />  fcstab(48) = &amp;H3183&amp;<br />  fcstab(49) = &amp;H200A&amp;<br />  fcstab(50) = &amp;H1291&amp;<br />  fcstab(51) = &amp;H318&amp;<br />  fcstab(52) = &amp;H77A7&amp;<br />  fcstab(53) = &amp;H662E&amp;<br />  fcstab(54) = &amp;H54B5&amp;<br />  fcstab(55) = &amp;H453C&amp;<br />  fcstab(56) = &amp;HBDCB&amp;<br />  fcstab(57) = &amp;HAC42&amp;<br />  fcstab(58) = &amp;H9ED9&amp;<br />  fcstab(59) = &amp;H8F50&amp;<br />  fcstab(60) = &amp;HFBEF&amp;<br />  fcstab(61) = &amp;HEA66&amp;<br />  fcstab(62) = &amp;HD8FD&amp;<br />  fcstab(63) = &amp;HC974&amp;<br />  fcstab(64) = &amp;H4204&amp;<br />  fcstab(65) = &amp;H538D&amp;<br />  fcstab(66) = &amp;H6116&amp;<br />  fcstab(67) = &amp;H709F&amp;<br />  fcstab(68) = &amp;H420&amp;<br />  fcstab(69) = &amp;H15A9&amp;<br />  fcstab(70) = &amp;H2732&amp;<br />  fcstab(71) = &amp;H36BB&amp;<br />  fcstab(72) = &amp;HCE4C&amp;<br />  fcstab(73) = &amp;HDFC5&amp;<br />  fcstab(74) = &amp;HED5E&amp;<br />  fcstab(75) = &amp;HFCD7&amp;<br />  fcstab(76) = &amp;H8868&amp;<br />  fcstab(77) = &amp;H99E1&amp;<br />  fcstab(78) = &amp;HAB7A&amp;<br />  fcstab(79) = &amp;HBAF3&amp;<br />  fcstab(80) = &amp;H5285&amp;<br />  fcstab(81) = &amp;H430C&amp;<br />  fcstab(82) = &amp;H7197&amp;<br />  fcstab(83) = &amp;H601E&amp;<br />  fcstab(84) = &amp;H14A1&amp;<br />  fcstab(85) = &amp;H528&amp;<br />  fcstab(86) = &amp;H37B3&amp;<br />  fcstab(87) = &amp;H263A&amp;<br />  fcstab(88) = &amp;HDECD&amp;<br />  fcstab(89) = &amp;HCF44&amp;<br />  fcstab(90) = &amp;HFDDF&amp;<br />  fcstab(91) = &amp;HEC56&amp;<br />  fcstab(92) = &amp;H98E9&amp;<br />  fcstab(93) = &amp;H8960&amp;<br />  fcstab(94) = &amp;HBBFB&amp;<br />  fcstab(95) = &amp;HAA72&amp;<br />  fcstab(96) = &amp;H6306&amp;<br />  fcstab(97) = &amp;H728F&amp;<br />  fcstab(98) = &amp;H4014&amp;<br />  fcstab(99) = &amp;H519D&amp;<br />  fcstab(100) = &amp;H2522&amp;<br />  fcstab(101) = &amp;H34AB&amp;<br />  fcstab(102) = &amp;H630&amp;<br />  fcstab(103) = &amp;H17B9&amp;<br />  fcstab(104) = &amp;HEF4E&amp;<br />  fcstab(105) = &amp;HFEC7&amp;<br />  fcstab(106) = &amp;HCC5C&amp;<br />  fcstab(107) = &amp;HDDD5&amp;<br />  fcstab(108) = &amp;HA96A&amp;<br />  fcstab(109) = &amp;HB8E3&amp;<br />  fcstab(110) = &amp;H8A78&amp;<br />  fcstab(111) = &amp;H9BF1&amp;<br />  fcstab(112) = &amp;H7387&amp;<br />  fcstab(113) = &amp;H620E&amp;<br />  fcstab(114) = &amp;H5095&amp;<br />  fcstab(115) = &amp;H411C&amp;<br />  fcstab(116) = &amp;H35A3&amp;<br />  fcstab(117) = &amp;H242A&amp;<br />  fcstab(118) = &amp;H16B1&amp;<br />  fcstab(119) = &amp;H738&amp;<br />  fcstab(120) = &amp;HFFCF&amp;<br />  fcstab(121) = &amp;HEE46&amp;<br />  fcstab(122) = &amp;HDCDD&amp;<br />  fcstab(123) = &amp;HCD54&amp;<br />  fcstab(124) = &amp;HB9EB&amp;<br />  fcstab(125) = &amp;HA862&amp;<br />  fcstab(126) = &amp;H9AF9&amp;<br />  fcstab(127) = &amp;H8B70&amp;<br />  fcstab(128) = &amp;H8408&amp;<br />  fcstab(129) = &amp;H9581&amp;<br />  fcstab(130) = &amp;HA71A&amp;<br />  fcstab(131) = &amp;HB693&amp;<br />  fcstab(132) = &amp;HC22C&amp;<br />  fcstab(133) = &amp;HD3A5&amp;<br />  fcstab(134) = &amp;HE13E&amp;<br />  fcstab(135) = &amp;HF0B7&amp;<br />  fcstab(136) = &amp;H840&amp;<br />  fcstab(137) = &amp;H19C9&amp;<br />  fcstab(138) = &amp;H2B52&amp;<br />  fcstab(139) = &amp;H3ADB&amp;<br />  fcstab(140) = &amp;H4E64&amp;<br />  fcstab(141) = &amp;H5FED&amp;<br />  fcstab(142) = &amp;H6D76&amp;<br />  fcstab(143) = &amp;H7CFF&amp;<br />  fcstab(144) = &amp;H9489&amp;<br />  fcstab(145) = &amp;H8500&amp;<br />  fcstab(146) = &amp;HB79B&amp;<br />  fcstab(147) = &amp;HA612&amp;<br />  fcstab(148) = &amp;HD2AD&amp;<br />  fcstab(149) = &amp;HC324&amp;<br />  fcstab(150) = &amp;HF1BF&amp;<br />  fcstab(151) = &amp;HE036&amp;<br />  fcstab(152) = &amp;H18C1&amp;<br />  fcstab(153) = &amp;H948&amp;<br />  fcstab(154) = &amp;H3BD3&amp;<br />  fcstab(155) = &amp;H2A5A&amp;<br />  fcstab(156) = &amp;H5EE5&amp;<br />  fcstab(157) = &amp;H4F6C&amp;<br />  fcstab(158) = &amp;H7DF7&amp;<br />  fcstab(159) = &amp;H6C7E&amp;<br />  fcstab(160) = &amp;HA50A&amp;<br />  fcstab(161) = &amp;HB483&amp;<br />  fcstab(162) = &amp;H8618&amp;<br />  fcstab(163) = &amp;H9791&amp;<br />  fcstab(164) = &amp;HE32E&amp;<br />  fcstab(165) = &amp;HF2A7&amp;<br />  fcstab(166) = &amp;HC03C&amp;<br />  fcstab(167) = &amp;HD1B5&amp;<br />  fcstab(168) = &amp;H2942&amp;<br />  fcstab(169) = &amp;H38CB&amp;<br />  fcstab(170) = &amp;HA50&amp;<br />  fcstab(171) = &amp;H1BD9&amp;<br />  fcstab(172) = &amp;H6F66&amp;<br />  fcstab(173) = &amp;H7EEF&amp;<br />  fcstab(174) = &amp;H4C74&amp;<br />  fcstab(175) = &amp;H5DFD&amp;<br />  fcstab(176) = &amp;HB58B&amp;<br />  fcstab(177) = &amp;HA402&amp;<br />  fcstab(178) = &amp;H9699&amp;<br />  fcstab(179) = &amp;H8710&amp;<br />  fcstab(180) = &amp;HF3AF&amp;<br />  fcstab(181) = &amp;HE226&amp;<br />  fcstab(182) = &amp;HD0BD&amp;<br />  fcstab(183) = &amp;HC134&amp;<br />  fcstab(184) = &amp;H39C3&amp;<br />  fcstab(185) = &amp;H284A&amp;<br />  fcstab(186) = &amp;H1AD1&amp;<br />  fcstab(187) = &amp;HB58&amp;<br />  fcstab(188) = &amp;H7FE7&amp;<br />  fcstab(189) = &amp;H6E6E&amp;<br />  fcstab(190) = &amp;H5CF5&amp;<br />  fcstab(191) = &amp;H4D7C&amp;<br />  fcstab(192) = &amp;HC60C&amp;<br />  fcstab(193) = &amp;HD785&amp;<br />  fcstab(194) = &amp;HE51E&amp;<br />  fcstab(195) = &amp;HF497&amp;<br />  fcstab(196) = &amp;H8028&amp;<br />  fcstab(197) = &amp;H91A1&amp;<br />  fcstab(198) = &amp;HA33A&amp;<br />  fcstab(199) = &amp;HB2B3&amp;<br />  fcstab(200) = &amp;H4A44&amp;<br />  fcstab(201) = &amp;H5BCD&amp;<br />  fcstab(202) = &amp;H6956&amp;<br />  fcstab(203) = &amp;H78DF&amp;<br />  fcstab(204) = &amp;HC60&amp;<br />  fcstab(205) = &amp;H1DE9&amp;<br />  fcstab(206) = &amp;H2F72&amp;<br />  fcstab(207) = &amp;H3EFB&amp;<br />  fcstab(208) = &amp;HD68D&amp;<br />  fcstab(209) = &amp;HC704&amp;<br />  fcstab(210) = &amp;HF59F&amp;<br />  fcstab(211) = &amp;HE416&amp;<br />  fcstab(212) = &amp;H90A9&amp;<br />  fcstab(213) = &amp;H8120&amp;<br />  fcstab(214) = &amp;HB3BB&amp;<br />  fcstab(215) = &amp;HA232&amp;<br />  fcstab(216) = &amp;H5AC5&amp;<br />  fcstab(217) = &amp;H4B4C&amp;<br />  fcstab(218) = &amp;H79D7&amp;<br />  fcstab(219) = &amp;H685E&amp;<br />  fcstab(220) = &amp;H1CE1&amp;<br />  fcstab(221) = &amp;HD68&amp;<br />  fcstab(222) = &amp;H3FF3&amp;<br />  fcstab(223) = &amp;H2E7A&amp;<br />  fcstab(224) = &amp;HE70E&amp;<br />  fcstab(225) = &amp;HF687&amp;<br />  fcstab(226) = &amp;HC41C&amp;<br />  fcstab(227) = &amp;HD595&amp;<br />  fcstab(228) = &amp;HA12A&amp;<br />  fcstab(229) = &amp;HB0A3&amp;<br />  fcstab(230) = &amp;H8238&amp;<br />  fcstab(231) = &amp;H93B1&amp;<br />  fcstab(232) = &amp;H6B46&amp;<br />  fcstab(233) = &amp;H7ACF&amp;<br />  fcstab(234) = &amp;H4854&amp;<br />  fcstab(235) = &amp;H59DD&amp;<br />  fcstab(236) = &amp;H2D62&amp;<br />  fcstab(237) = &amp;H3CEB&amp;<br />  fcstab(238) = &amp;HE70&amp;<br />  fcstab(239) = &amp;H1FF9&amp;<br />  fcstab(240) = &amp;HF78F&amp;<br />  fcstab(241) = &amp;HE606&amp;<br />  fcstab(242) = &amp;HD49D&amp;<br />  fcstab(243) = &amp;HC514&amp;<br />  fcstab(244) = &amp;HB1AB&amp;<br />  fcstab(245) = &amp;HA022&amp;<br />  fcstab(246) = &amp;H92B9&amp;<br />  fcstab(247) = &amp;H8330&amp;<br />  fcstab(248) = &amp;H7BC7&amp;<br />  fcstab(249) = &amp;H6A4E&amp;<br />  fcstab(250) = &amp;H58D5&amp;<br />  fcstab(251) = &amp;H495C&amp;<br />  fcstab(252) = &amp;H3DE3&amp;<br />  fcstab(253) = &amp;H2C6A&amp;<br />  fcstab(254) = &amp;H1EF1&amp;<br />  fcstab(255) = &amp;HF78&amp;<br /> End If<br /> <br /> ' The initial FCS value<br /> fcs = pppinitfcs16<br /> <br /> ' evaluate the FCS<br /> For I = LBound(cp) To LBound(cp) + Size - 1<br />  fcs = (fcs \ &amp;H100&amp;) Xor fcstab((fcs Xor cp(I)) And &amp;HFF&amp;)<br /> Next I<br /> <br /> ' return the result<br /> Crc16 = fcs<br />End Function<br /><br />'-------------------------------------------------<br />Public Function ModCRC(Buffer() As Byte) As Integer<br />'-------------------------------------------------<br /><br />' returns the MODBUS CRC of buffer<br />Dim CRC1 As Long<br />Dim I As Integer<br />Dim J As Integer<br />Dim K As Long<br /><br />  CRC1 = &amp;HFFFF ' init CRC<br />  For I = 0 To UBound(Buffer) - 1 ' each byte<br />  CRC1 = CRC1 Xor Buffer(I)<br />    For J = 0 To 7 ' for each bit in byte<br />    K = CRC1 And 1 ' bit 0 value<br />    CRC1 = ((CRC1 And &amp;HFFFE) / 2) And &amp;H7FFF ' Shift right with 0 ms bit<br />    If K &gt; 0 Then CRC1 = CRC1 Xor &amp;HA001<br />    Next J<br />  Next I<br />  ModCRC = CRC1<br />End Function[/syntax]<br /><br />ew zobacz tu: <!-- m --><a class="postlink" href="http://social.msdn.microsoft.com/Forums/vstudio/en-us/ba11ef58-dfe2-4382-82c6-70ff0c14791c/computing-crc16?forum=netfxbcl" >http://social.msdn.microsoft.com/Forums ... m=netfxbcl</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 6 lut 2014, o 09:11</p><hr />
]]></content>
</entry>
</feed>