マイクロチップ社のホームページからダウンロードしたデモプログラムでSENT送信をやってみました。。
まずはソースコードを変更してSENT送信が動くようにします。
ソースコードの 45行 ~ 85行 の翻訳
* その他の注意事項:
*ソフトウェアはdsPIC33EV256GM106スターターキットにロードされるように設計されています。
*
*どのようにデモが行われるか。
* a)CAN、LINおよびSENTとスイッチ、POTはすべて使用でき、そして温度データは3つの信号に送信されます。
* b)HWインターフェイスは1秒毎にPOT電圧、スイッチのステータスおよび温度(摂氏)を送信します。
* c)LEDは送信モード中に関連したスイッチを押したときに点灯します。
* d)CANのスピードは、ビットあたり10Tqの250kbpsの設定です
* e)LINスピードは4800bpsであり、アナライザのタイムアウトは1000ミリ秒に設定する必要があります
* f)LINインタフェースは、BAT端子に外部+ 12VDCの接続が必要です。
*
*ボードのデフォルトのパワーオン状態は送信モードです。これは1-2-3-2-1を点滅する3つのLEDで表示されます。
*MCLRスイッチが押されている間に3つのユーザスイッチのいずれかが100ミリ秒間以上押されている場合 、
*ボードは受信モード変わります。3つのLEDが5回点滅します。
*受信モードを開始するためにスイッチ(複数可)を解放(OFF)する必要があります。
*
*送信および受信モードの両方をUARTでモニタ出来ます。これは、端末にASCIIデータで表示します。
*
*次のように外部ADM00393ボードを接続すると、すべてのインターフェイスのメッセージのモニタが可能となります。
*
* ADM00393の電圧設定ジャンパーが5Vになっているのを確認してください!必要に応じて3ジャンパ線があります。
*
* TXD – RB4は、ADMのRXD端子に接続します
* GND – GNDは、ADMのG端子に接続します
* DVDD – DVDDは、ADMのVDDピンに接続します
*
* デモの設定は、ボーレートは38400/8 / N / 1に設定されています。これは、ソースを変更して再コンパイルすることによって変更することができます
* 端末プログラムが、同じに設定されていることを確認してください。
*
* CANメッセージコードは、AN1249アプリケーションノートに基づいています。 CANの設定の詳細については、それを参照してください。
*
* 重要!
*
* このデモを実行するためには、CANをアクティブにする必要があります。これはCANと接続するCANバス、CANアナライザまたは他のいずれかが必要です。
* DM330018ボードは、CANインタフェースに接続されます。そうでなければ、プログラムコードは、CANメッセージを受信する箇所で「ハングアップ」します。
* CANを接続しない場合(SENTまたはLINだけ使いたい場合)、あなたは、ソースコードの行をコメントアウトして再コンパイルする必要があります。
* 手順については、ユーザーズ・ガイドを参照してください。
*
*
* プロセッサは、水晶+ PLLで起動します、クロックの切り替えはしません!
ユーザーズ・ガイドからCANを無効にする方法
CANを無効にする方法はマニュアルの27ページに書いてあります。
要は ソースファイル(33EV_main_v11.c)の472行目の
CAN_Transmit()をコメントアウトするだけです。
コメントアウト後にビルドしてStarter Kitにプログラムを書き込みます。
プログラム書込み後 MCLR ボタンを押すとLEDが
1→2→3の順番に点灯して3→2→1の順番に消灯します。
この状態で Starter Kit はトランスミットモードで動作しています。
受信モードへの切り替えに関して
自分の翻訳が違っているのかもしれませんが実際には
3個のスイッチ(1個でも複数でも可)とMCLRスイッチを同時に押して
先にMCLRスイッチを開放して次に3個のスイッチを開放すると受信モードに移行します。