プログラムはC言語で記述してあります。ソースそのもの、および、コンフィグレーション レジスタ の設定は、関連情報URL先に載せてありますので、そちらをご覧ください。
C言語は、MikroElektronika 社製 MikroC PRO for PIC を用いました。コンパイル、リンク後の実行ファイル容量が4KB以下なら試用版で無料で使用でき、ハードウェアのライブラリが豊富で使いやすいです。本プログラムの実行ファイル(.hex)は、4KB以下なので試用版でコンパイル、リンクができます。
MikroC PRO for PIC にはPICの ECAN モジュール をハンドリングする CANライブラリが備わっており、今回下記の CANライブラリ 関数を使いました。
・初期化
CANInitialize(SJW,BRP,PHSEG1,PHSEG2,PROPSEG,Can_Init_Flags)
・オペレーション状態の変更
CANSetOperationMode(_CAN_MODE_NORMAL, 0xFF)
・CAN IDマスク設定
CANSetMask(_CAN_MASK_B1,-1,_CAN_CONFIG_STD_MSG)
・CAN IDフィルタ設定
CANSetFIlter(_CAN_FILTER_B1_F1,ID_Eng,_CAN_CONFIG_STD_MSG) ;
・CANデータの受信
CANRead(&Rx_ID , Rx_Data , &Rx_Data_Len, &Can_Rcv_Flags);
・CANデータの送信
CANWrite(Tx_ID, Tx_Data, 8, Can_Send_Flags);
これらを用いることでプログラムの記述は簡単です。
しかし、各関数の引数の値、つまり、CAN固有パラメータをどうするかが問題です。
このパラメータの設定については、関連情報URL、および、そのURLとリンクしているWEBサイトに説明しました。
Posted at 2010/11/14 21:46:50 |
CAN OBDⅡ | クルマ