忍者ブログ
ようこそ!JQ2RVNのブログです。 PICを使っていろいろな物を作ろうと画策中です。
[34] [33] [32] [31] [30] [29] [28] [27] [26]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PICTNCのソースから、CRCアルゴリズムを解析しました。
わかりやすくするために16ビットの数値を8ビットで計算しているところなどは省略します。

以下、変数・定数
data: 受信 or 送信するデータ(8ビット)
CRC: CRCの値を格納(16ビット)
Poly: 生成多項式(16ビット定数)

PolyはAX.25では0x8408
CRCは計算前に0xFFFFで初期化します。


dataを右へ1ビットシフトします。このとき最下位のビットがCビットに出ます。

C=1ならば、CRC xor 0x0001 -> CRC

CRCを右1ビットシフト。同様に最下位ビットがCビットに出ます。

C=0ならば、計算終了
C=1ならば、CRC xor Poly  -> CRC


以上で計算は終了です。
アセンブラならおよそ10サイクルくらいで計算できると思います

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
02 2017/03 04
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
プロフィール
コールサイン:
JQ2RVN
性別:
男性
自己紹介:
PICの開発を勉強中です。
目標はPICTNCの高性能版を作ること。
まずは、本家を解析しています。
最新コメント
[04/23 Eolande]
[04/16 太田和巳(JF2UJG)]
[09/10 je7ifp]
[08/06 JQ2RVN]
[08/03 OVC]
最新トラックバック
バーコード
ブログ内検索
アクセス解析