2011年1月23日日曜日

PICでCAN通信(その2)

とりあえず、動作するようになったCAN。

YES WE CAN!!

と、簡単にはいきませんYO、ハイ。

まず、前回適当に組んだプログラムを修正するところからです。

レジスタアドレスやインストラクションコードの定義や、

SPI用サブルーチンを作成。

その後、動作確認です。

今回はこんな感じで動作確認回路を組みました。



こんな感じです

でっかいブレットボードの右側がノード1、左がノード2とします。

ちなみに、CANのモジュールはノードと呼ぶらしいです。

ノード1はCAN関係以外はタクトスイッチ1つだけ。

ノード2はLCDとモーターをつないでみましたYO。



プログラムした動作ですが、ノード1の黒いタクトスイッチを押すと、

スイッチを押した積算回数がノード2に送信されます。

チャタリング防止で1secのインターバルを設定したので連打は出来ません(笑)。

ノード2は受信した値をLCDに表示し、

RXB0D0が奇数だったらモーターを動かすようになってます。

ではぢゅは、動作をみてみましょぃ。



とりあえず、動作しています。



今回発覚した問題は次の通り。

・ノード2が受信した拡張IDの数値が意味不明。

これは標準IDで通信を行っているからだと思われますが、

逆に拡張IDで通信をする方法が分からなかったりしますね。


・PICを使ったCAN関連ホームページが少ない。

前回も述べましたが、情報が少ないです。

素人はなかなか手を出しにくいです。

素人にも優しい解説を切に望みます(笑)

0 件のコメント:

コメントを投稿