• 検索結果がありません。

デモプロジェクト

ドキュメント内 RX ファミリ CAN API Firmware Integration Technology (ページ 43-47)

デモプロジェクトには、FITモジュールとそのモジュールが依存するモジュール(例:r_bsp)を使用する

main()関数が含まれます。本FITモジュールには以下のデモプロジェクトが含まれます。

注記:これらのデモは、CAN FIT module Rev. 4.00を使用するようにアップグレード済みです

デモプログラム内の大きな変更点:ボーレートプリスケーラの分周比とビットのタイミング値を宣言し、

R_CAN_Create()関数を呼び出す前にp_cfg引数を通じてCANチャネルのビットレートを設定します。

Rev. 5.00でのAPI関数変更の詳細については、「10.4 API Functions Changes from Rev. 4.10 to Rev. 5.00」

を参照してください。

Rev. 4.00でのAPI関数変更の詳細については、「10.3 Rev. 3.20からRev. 4.00へのAPI関数の変更」を 参照してください。

ワークスペースにデモを追加する

デモプロジェクトは、本アプリケーションノートで提供されるファイルのFITDemosサブディレクトリに あります。ワークスペースにデモプロジェクトを追加するには、「ファイル」→「インポート」を選択し、

「インポート」ダイアログから「一般」の「既存プロジェクトをワークスペースへ」を選択して「次へ」ボタ ンをクリックします。「インポート」ダイアログで「アーカイブ・ファイルの選択」ラジオボタンを選択し、

「参照」ボタンをクリックしてFITDemosサブディレクトリを開き、使用するデモのzipファイルを選択して

「完了」をクリックします。

CANアプリケーションデモコードのファイルは、..¥srcディレクトリにあるcan_api_demo.c、および switches.cです。

デモを実行するには、以下の説明に従って、圧縮e2 studioプロジェクト(can_demo_xxxx.zip)をe2 studio にインポートします。

5.1.1 e

2

studio

でプロジェクトをインポートしてデバッグする 1. 新規にワークスペースを作成する

1-1. ワークスペースを作成したい場所に空フォルダを作成します。

1-2. e2 studioを開始し、ワークスペースとして、上記で作成したフォルダを指定します。

1-3. Workbenchアイコン(「ようこそ」ウィンドウの右下)をクリックします。

以下の手順を続けます。

2. 既存のワークスペースを使用する

2-1. 「インポート」を選択します。

2-2. 「一般」→「既存プロジェクトをワークスペースへ」を選択します。または、アーカイブファイル

かディレクトリから新しいプロジェクトを作成します。

• デモのコードがエクスポートして作成されたアーカイブZIPファイルの場合、そのファイルを参 照します。

• デモのコードがソースコード(.projectファイル)と一緒にe2 studioプロジェクトのディレクト リにある場合、プロジェクトのルートディレクトリを参照します。コードをワークスペース

(.metadataディレクトリがある場所)に持ちたい場合、「プロジェクトをワークスペースにコピー する」を選択してください。

2-3. [終了]ボタンをクリックします。

2-4. アーティファクト名を$(ProjName)に変更します。「プロジェクト」→「プロパティ」→

「C/C++ ビルド」→「設定」を選択します。こうすることで、プロジェクト名を変更した場合も、

正しくビルドされます。

これでワークスペースにデモプロジェクトがインポートできました。同じワークスペースに別のプロジェ クトをインポートすることもできます。

コードを実行する

デバッグセッションを作成してダウンロードし、コードを実行します。

5.1.2

デモを実行する

同梱のCAN APIのデモプロジェクトには、CAN APIを使って500kbpsで送受信を行うプログラムが含ま

れます。メールボックスのポーリング、またはCAN送信/受信割り込みのいずれを使っても、デモを実行で きます。

デモはいくつかの方法で設定できます。

• 2つのボードをプログラムし、CANバスでそれらを接続します。デモをプログラムして実行する前に、一 方のボードで、CAN ID値“TX_CANID_DEMO_INIT”および“RX_CANID_DEMO_INIT”を切り替えます。

• CANバスモニタ(例:SysTec製 低コストモニタ 3204000)を使用して、デモでフレームを送受信 します。

• R_CAN_PortSet APIのCANPORT_TEST_1_INT_LOOPBACKを使って、内部で通信できます。外部

バスは必要ありません。

• CAN割り込みが有効な場合、リモートフレームのデモも行えます。

動作説明

デモはデフォルトのCAN-IDのTX_CANID_DEMO_INITとRX_CANID_DEMO_INITを使って、フレーム を送受信します。テストフレームNR_STARTUP_TEST_FRAMESをできるだけ高速で連続送信することに よって、デモが開始されます。このデモの目的は、1) バスリンクを確認、2) メッセージを高速で連続送信 する、の2点です。

ユーザアクション

SW1を押下してCANフレームを1つ送信します。TxIDをインクリメントさせるには、SW2を押した状 態で、SW3を押します。デモのアクションは、can_int_demo()関数、またはcan_poll_demo()関数内(いず れの関数かはr_can_rx_config.hのUSE_CAN_POLLの設定による)で確認していただくのが一番わかりや すいです。

リモートフレーム

標準CANフレームの送受信の他に、デモプログラムは、CAN-ID 50h(can_api_demo.hの

REMOTE_TEST_IDで定義)でメールボックスが受信したリモートフレームの要求に対する応答も送信でき

ます。

この機能をデモに追加するには、can_api_demo.cでREMOTE_DEMO_ENABLEを“1”に設定します。

また、割り込みモードが要求されますので、CAN APIのconfigファイルでUSE_CAN_POLLを“0”に設定 します。リモートフレームの要求は、前述のCANモニタなど、外部のソースから行う必要があります。リモー トフレーム要求をCAN-ID 50hに送信するように、外部のCANソースを設定してください。

Renesas デバッグコンソール

E1/E20からe2 studioのデバッグコンソールに対してトレースデータを有効にすると、ユーザアプリケー

ションからリアルタイムでデータを出力することができます。これによって、C言語のprintf()を使って、ト レースした文字列を送信して、標準出力が可能になります。この場合、標準出力はE1/E20デバッグレジス タになります。

これを行うには、../r_config/r_bsp_config.hのBSP_CFG_IO_LIB_ENABLEを“1”に設定します。

デバッグコンソールを有効にするために、マクロが自動的にコードを有効にします。そのためには以下の 手順を行ってください。

1. INIT_IOLIB()が呼び出されていることを、resetprog.cで確認してください。

内のコードには および 関数を含む必要があります。これによって、最下レベ

3. printfを使用したい場合、ファイルに<stdio.h>を記載してください。

printf()を呼び出すファイルには以下を追加します。

#if BSP_CFG_IO_LIB_ENABLE #include <stdio.h>

#endif

4. e2 studioにて、以下のように[Renesas デバッグ仮想コンソールの有効化/無効化]および[コンソール

のピン留め]の両方をクリックして、「デバッグコンソール」ウィンドウを追加します。E1/E20のプリ ントバッファを空にし、また、コードの実行がブロックされないようにするには、これらをオンにする 必要があります。

5 デバッグコンソールの制御ボタン。

コンソールが応答していないようであれば、e2 studioで [Renesas デバッグ仮想コンソールの有効化/

無効化]を再度押してください。

5. 何もプリントされない場合、[Renesasデバッグ仮想コンソールのクリア]([Renesas デバッグ仮想コ ンソールの有効化/無効化]アイコンの左のアイコン)を数回押します。

ドキュメント内 RX ファミリ CAN API Firmware Integration Technology (ページ 43-47)

関連したドキュメント