問題タブ [crc16]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - C++からbashへのcrc16アルゴリズム
私はbashでCRC16チェックサムを実装しようとしています。既存のC++コードから移植しています。私はもうすぐそこにいますが、私は別の答えを得ています。
C++コードとbashスクリプトのチェックサムが異なる理由がよくわかりません。
別の目は大きな助けになるでしょう。
C++コードは次のとおりです。
そして、これが私のbashコードです:
それはintのサイズと関係があるのでしょうか?bashでそれについてできることはあまりないと思います。
実際の番号を取得していますが、正しく機能することがわかっているC++と一致しません。誰かが私が物事を台無しにしているかもしれない何かを見ますか?
c# - C# での CRC-ITU 計算
私はC#が初めてです。GPS デバイスから受信したパケットの CRC-ITU を計算する必要があります。ドキュメントには C コードが提供されていますが、それを C# に移植する方法がわかりません。
CのCRC-ITUアルゴリズムは次のとおりです。
http://ppcode.blogbus.com/logs/1656947.htmlから C# コードも見つけましたが、使い方がわかりません。コードは次のとおりです。
ドキュメントの例を次に示します。
フルパケット: 0x78 0x78 0x0D 0x01 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45 0x00 0x01 0x8C 0xDD 0x0D 0x0A
スタートビット : 0x78 0x78 長さ : 0x0D プロトコル番号 : 0x01 デバイス ID : 0x01 0x23 0x45 0x67 0x89 0x01 0x23 0x45 シリアル番号 : 0x00 0x01 CRC ベリファイ : 0x8C 0xDD ストップビット : 0x0D 0x0A
ドキュメントからの引用:
デバイスまたはサーバーは、識別コードで受信したデータの正確性を判断できます。場合によっては、電子ノイズやその他の干渉により、転送プロセスでデータが少し変更されることがあります。この場合、コードを識別することで、コアまたは関連するコアがそのような間違ったデータに対して何もしないようにすることができ、システムのセキュリティと効率が強化されます。この識別コードは CRC-ITU 識別方式を採用しています。CRC-ITU 値は、プロトコルの「Package Length」から「Information Serial Number」まで(「Package Length」と「Information Serial Number」を含む)です。受信側が CRC の誤った計算情報を受信した場合、それを無視してこのデータを破棄します。パッケージ。
上記の例からcrc値を取得する方法を知っている人はいますか? どうも
c - CRC16チェックサムを計算する関数
私は、RS232またはRS485接続を介したシンプルで信頼性の高い通信を提供するためにライブラリに取り組んでいます。このコードの一部には、データに対してCRC16チェックサムを使用して、ラインノイズによる破損を検出することが含まれます。CRC16チェックサムを計算する関数を作成しましたが、正しい値を出力していないようです。
私が書いた関連コードは以下のとおりです(ここにもあります)。
このオンラインCRC計算機に対して出力をチェックしています。
CRC16の計算方法についての私の理解が間違っているか、オンライン計算機が間違っているという結論に達しました(前者の方が可能性が高いようです)。誰かが私がどこで間違っているのか教えてもらえますか?
python - MatlabコードをPythonに変換する
このアルゴリズムに問題があります:
そのコードをPythonに変換する必要があり、次のことを行いました。
私の問題は次のとおりです。
de Pythonコードを実行すると、de xorの計算にかなりの時間がかかります。問題は、
は行列であり、計算には長い時間がかかります。どちらが問題ですか?
このアルゴリズムの擬似コードは次のとおりです。
私の質問は:なぜ私のPythonコードの実行に時間がかかるのですか?なにが問題ですか?私が思う問題は
どうもありがとう!
php - PHPの16進数とバイナリ
次の形式の文字列があります: "0A1344010400010005"(16進表現)
これらのデータを次の関数で使用できるように、この文字列をバイトの配列(0x0a、0x13、0x44など)に変換する必要があります。
$this->value
値は0xFFFF
です。$this->arr
要素を含む配列です:array(0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf)
。
私は次のことをしました。基本的に、これは文字列をトラバースし、2文字ごとに1バイトあたりの16進表現として分離し、それらを2進文字列に変換します。
常に値0の結果を生成しているようです。やるべきことはありますか?
助けてくれてありがとう!
php - CRC16関数のためにCをPHPに変換する
CコードをPHPに変換するのに助けが必要です。以下はCコードです。
これまでに変換できた次のPHPコードがあります。
次のコードを実行しようとしました。
間違った結果を示しているようです。他の値に置き換えようとする$str
と、結果は常に同じになります。
PHPコードに何か問題があるのではないかと思います。しかし、その原因がわからないようです。
cryptography - Progress 10.1C 4GL エンコード機能
Progress 10.1Cがエンコード機能で使用するアルゴリズムを知っている人はいますか?
私はこれを見つけました: http://knowledgebase.progress.com/articles/Article/21685
Progress 4GL ENCODE関数は、CRC-16アルゴリズムを使用して、エンコードされた出力を生成します。
プログレス 4GL:
出力として「LkwidblanjsipkJC」を与える
しかし、たとえばhttp://www.nitrxgen.net/hashgen/でパスワード「Test」を使用すると、 Progress から結果が得られません..
何か案は?:)
linker - IAREmbeddedWorkbenchでのリンカー構成の自動化
フラッシュの整合性についてcrc16チェックを実行する必要があるファームウェアプロジェクトに取り組んでいます。
crcは、IAR Xlinkリンカーを使用して計算され、フラッシュの最後に保持されます。この場合も、crcは実行時にコードから計算され、フラッシュに保存されている値と比較されて整合性がチェックされます。ただし、crcはフラッシュメモリのコードセグメントでしか計算できません。コードに変更を加えるたびに、サイズが変わる可能性があります。現在手動で行っているこのプロセスを自動化できますか?
.xclリンカーファイルから:
ここで、2番目のコードセグメントの終了値を変更する必要があります。これは現在0x20A13です。この値は、.mapファイルから取得します。つまり、コードがフラッシュ内に存在するメモリ範囲の量を取得します。これは私が行う最初の変更です。
ここで私はコードから2番目の変更を加える必要があります:
このプロセスの自動化にご協力ください!!
byte - crc16 実装 Java
Java でのバイト配列の CRC-16 実装の計算に問題があります。基本的に、タグへの書き込みを開始する RFID にバイトを送信しようとしています。Macでtcpdumpコマンドを見ると、配列のチェックサム値がわかります。しかし、私の目標はそれを自分で生成することです。これは、0xbe、0xd9 を生成する必要がある私のバイト配列です。
0x55 はヘッダーです。ドキュメントが言うように、それは除外されます。
この配列を Java (0xbe、0xd9) で試すと、RFID が機能します。私の問題は、これらのチェックサム値の生成です。ほぼウェブ全体を検索しましたが、チャンスはありませんでした。0xbe,0xd9 を生成するアルゴリズムは見つかりませんでした。
どんなアイデアでも大歓迎です。前もって感謝します。
編集:これはrfidで提供されたプロトコルです