- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I want to translate KBA221416, please confirm to my work.
Regards,
Nino
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Nino-san
Confirm your work to this KBA.
Thanks
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
タイトル:16FX C_CANサンプルコードでCANメッセージの受信失敗 ー KBA221416
バージョン 1
chaitanyav_41が 2017/10/19 21:50 に作成。chaitanyav_41が 2017/10/19 21:50 に変更。
Version: **
質問:
16FX(MB96600シリーズ)C-CANサンプルプロジェクトで、16よりも大きいMessageObjectsを使用した場合、幾つかのRXチャネルでCANメッセージは受信されません。この問題はどのように解決しますか?
回答:
MB9660シリーズC-CANサンプルコードで、メッセージバッファを通過させるために16よりも大きいMessageObjectsの数は許可されないというバグがc_can.cファイルにあります。これは結果的に失敗です。下記コードはこの問題を解決させるための例です:
MB96600シリーズのC-CANサンプルコードでは、c_can.cファイルにバグがあり、16より大きいMessageObject番号をメッセージバッファーに渡すことができません。これは失敗に終わりました。次のコードは、問題を修正する例です。
//MB96620 sample project, c_can.c
Line 137: void TxRx_Judge_0(void)
{
unsigned short MsgNbr = 0x00;
unsigned long MsgBuffer;
MsgNbr = IO_CAN2.INTR2; //stor MsgNbr
if( (MsgNbr>=1) && (MsgNbr<=0x20) ) // valid buffer number
{
// MsgBuffer = 0x01 << (MsgNbr-1); //Original code in sample project.
MsgBuffer = ((unsigned long)0x01) << (MsgNbr-1); //Modified new code.
…
}
}
16FX製品ウェブページからMB9660シリーズサンプルコードをダウンロードできます。
141 閲覧 カテゴリ: MCU & PSoC: Auto MCU タグ: can, 16fx, message object