デモプロジェクトには、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
2studio
でプロジェクトをインポートしてデバッグする 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 デバッグ仮想コ ンソールの有効化/無効化]アイコンの左のアイコン)を数回押します。