<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[crc16 Berechnen]]></title><description><![CDATA[<p>Ich versuche per Netzwerk die Kommunikation mit einem Gerät herzustellen. Dafür nutze ich QTcpSocket, was soweit auch klappt.</p>
<p>Die Übertragungspackete beinhalten eine Checksumme. Laut Beschreibung soll das crc16 sein. Jedoch schaffe ich es nicht auf das gleiche Ergebnis zu kommen, wie in den Beispielen gegeben sind.</p>
<p>Wenn ich folgendes übertrage:</p>
<pre><code>00:00:00:0e:7d:98:b2:00:ce:64:00:00:00:00:01:01:01:01
</code></pre>
<p>Bekomme ich als Antwort:</p>
<pre><code>00:00:00:0e:00:31:16:80:b6:b2:7d:98:b2:01:02:01:01:01
</code></pre>
<p>Wobei die Checksumme bei der Übertragung <strong>ce:64</strong> - 9. und 10. Byte sind.<br />
Beim Antwort die gleiche Bytestellen, <strong>b6:b2</strong> sind.</p>
<p>L.t. Anleitung wird die Checksumme berechnet, indem man die erste vier Bytes weg lässt, d.h. <strong>00:00:00:0e</strong> wird nicht beachtet. Die Stelle von der Checksumme mit <strong>00:00</strong> überschreibt. Also von folgende Bytes soll die Checksumme berechnet werden:</p>
<pre><code>7d:98:b2:00:00:00:00:00:00:00:01:01:01:01
</code></pre>
<p>und Ergebnis <strong>ce:64</strong> erscheinen.<br />
Oder von</p>
<pre><code>00:31:16:80:00:00:7d:98:b2:01:02:01:01:01
</code></pre>
<p>Checksumme <strong>b6:b2</strong>.</p>
<p>Ich hatte das mit <a href="http://doc.qt.nokia.com/4.6/qbytearray.html#qChecksum" rel="nofollow">qChecksum</a> unter QT versucht. Dabei wird CRC-16-CCITT verwendet. Das Ergebnis ist jedoch anderes.<br />
Auch das hier hatte ich versucht<br />
<a href="http://www.mikrocontroller.net/topic/12177" rel="nofollow">http://www.mikrocontroller.net/topic/12177</a><br />
jedoch ergibt das dortige auch was anderes, als erwünscht.<br />
Habe auch 0x0 oder 0xffff als Start versucht und noch andere Codes, die ich im Internet fand. Auch andere Werte als 0xA001 als Polynom.</p>
<p>Daher die Frage, kann mir jemand sagen, wie ich zu obige Checksummen komme?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269957/crc16-berechnen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 12:51:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269957.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 04 Jul 2010 17:55:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to crc16 Berechnen on Sun, 04 Jul 2010 17:55:22 GMT]]></title><description><![CDATA[<p>Ich versuche per Netzwerk die Kommunikation mit einem Gerät herzustellen. Dafür nutze ich QTcpSocket, was soweit auch klappt.</p>
<p>Die Übertragungspackete beinhalten eine Checksumme. Laut Beschreibung soll das crc16 sein. Jedoch schaffe ich es nicht auf das gleiche Ergebnis zu kommen, wie in den Beispielen gegeben sind.</p>
<p>Wenn ich folgendes übertrage:</p>
<pre><code>00:00:00:0e:7d:98:b2:00:ce:64:00:00:00:00:01:01:01:01
</code></pre>
<p>Bekomme ich als Antwort:</p>
<pre><code>00:00:00:0e:00:31:16:80:b6:b2:7d:98:b2:01:02:01:01:01
</code></pre>
<p>Wobei die Checksumme bei der Übertragung <strong>ce:64</strong> - 9. und 10. Byte sind.<br />
Beim Antwort die gleiche Bytestellen, <strong>b6:b2</strong> sind.</p>
<p>L.t. Anleitung wird die Checksumme berechnet, indem man die erste vier Bytes weg lässt, d.h. <strong>00:00:00:0e</strong> wird nicht beachtet. Die Stelle von der Checksumme mit <strong>00:00</strong> überschreibt. Also von folgende Bytes soll die Checksumme berechnet werden:</p>
<pre><code>7d:98:b2:00:00:00:00:00:00:00:01:01:01:01
</code></pre>
<p>und Ergebnis <strong>ce:64</strong> erscheinen.<br />
Oder von</p>
<pre><code>00:31:16:80:00:00:7d:98:b2:01:02:01:01:01
</code></pre>
<p>Checksumme <strong>b6:b2</strong>.</p>
<p>Ich hatte das mit <a href="http://doc.qt.nokia.com/4.6/qbytearray.html#qChecksum" rel="nofollow">qChecksum</a> unter QT versucht. Dabei wird CRC-16-CCITT verwendet. Das Ergebnis ist jedoch anderes.<br />
Auch das hier hatte ich versucht<br />
<a href="http://www.mikrocontroller.net/topic/12177" rel="nofollow">http://www.mikrocontroller.net/topic/12177</a><br />
jedoch ergibt das dortige auch was anderes, als erwünscht.<br />
Habe auch 0x0 oder 0xffff als Start versucht und noch andere Codes, die ich im Internet fand. Auch andere Werte als 0xA001 als Polynom.</p>
<p>Daher die Frage, kann mir jemand sagen, wie ich zu obige Checksummen komme?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1921235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1921235</guid><dc:creator><![CDATA[miki11]]></dc:creator><pubDate>Sun, 04 Jul 2010 17:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to crc16 Berechnen on Thu, 08 Jul 2010 16:36:22 GMT]]></title><description><![CDATA[<p>Gibt es niemand, wer mir helfen kann? Oder habe ich bei meine Frage etwas falsch, bzw. undeutlich geschrieben?</p>
<p>Ich habe schon etliche Versuche durchgeführt, auf die Checksumme zu kommen, leider half kein google-Fund mir weiter.</p>
<p>Würde mich echt freuen, wenn sich jemand melden könnte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1923409</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1923409</guid><dc:creator><![CDATA[miki11]]></dc:creator><pubDate>Thu, 08 Jul 2010 16:36:22 GMT</pubDate></item></channel></rss>