Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager
您好,我正在使用AURIX™ TC387 評估TDA5235_868_5_BOARD 。 我可以使用特定消息 ID 發送 CAN Tx 消息,並在另一端成功接收。 但我無法接收來自另一端的消息。 我只找到了循環模式的一個例子,並且找不到與 CAN0 接收和消息框配置有關的任何示例。 在庫中,我沒有找到任何配置消息框的功能。 任何人能幫我嗎?

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/td-p/685277

1 解決方案
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

請通過以下代碼片段中的 CAN_MESSAGE_ID 設置所需的消息 ID 並檢查。

g_mcmcan. 網路篩選器。數值 = 0; g_MCMCAN. 網路篩選器. 元素組態
= ifxCAN _ 過濾器元素組態 _ 存儲在 RX 緩衝區;
g_mcmcan. 網頁篩選器 .id1 = CAN_訊息 _ID;
G_MCCAN. CAN濾器 .RX緩衝區移= ifxCAN_RX 緩衝區號 _0;

最好的問候。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/m-p/686276

在原始文章中檢視解決方案

0
5 回應
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

您是否檢查了 https://community.infineon.com/t5/AURIX-Development-Studio/CAN0-external-loopback-not-working-in-TC3...

最好的問候。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/m-p/685340

0
Translation_Bot
Community Manager
Community Manager
Community Manager

是的,我檢查了參考文獻 使用您建議的代碼 TX 正在工作並成功使用郵件 ID 0x777 到達目的地,因為它被配置為來源 node_0 中的傳輸 & 接收框類型。 但實際的問題在於接收帶有 0x111 等其他消息 ID 的 CAN 消息。 我不明白在哪裡可以設置消息框? 我試圖將斷點放入 RX 中斷服務常規中。 但是斷點並沒有擊中。

你能指導我嗎?

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/m-p/686097

0
Translation_Bot
Community Manager
Community Manager
Community Manager

嗨,

請通過以下代碼片段中的 CAN_MESSAGE_ID 設置所需的消息 ID 並檢查。

g_mcmcan. 網路篩選器。數值 = 0; g_MCMCAN. 網路篩選器. 元素組態
= ifxCAN _ 過濾器元素組態 _ 存儲在 RX 緩衝區;
g_mcmcan. 網頁篩選器 .id1 = CAN_訊息 _ID;
G_MCCAN. CAN濾器 .RX緩衝區移= ifxCAN_RX 緩衝區號 _0;

最好的問候。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/m-p/686276

0
Translation_Bot
Community Manager
Community Manager
Community Manager

親愛的南比,

我們已經在代碼中具有 CAN 過濾器配置,與您發送的代碼片段相同。

我們使用 CAN_MESSAGE_ID 嘗試了它,例如 0x01(標準標識符),它通過它接收來自外部世界的數據。 但是控制仍然不會轉到 canisrRxHandler()。 我們再次檢查發射器是否使用 0x01 作為標識符,並定期在 CAN 匯流排上發送數據。 但是 TC387 CAN0 節點 0 沒有接收數據。 順便說一句 Tx 正在工作。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/m-p/686963

0
Translation_Bot
Community Manager
Community Manager
Community Manager

因此,現在我們可以使用 CAN0,僅 node0 與外部世界進行通信。

使用此行 G_MCMCAN.canFilter.id1 = CAN_MESSAGE_ID;我們只能獲取具有該特定 CAN_MESSAGE_ID 的消息(根據通訊協定工作)的消息。但是如何配置多個消息對象以接受具有不同標識符的多個 Can 消息?假設我想使用 ID 接收,0x01,0x02,0x111,0x777...

我在英菲尼恩庫中找到了這個。

//設置 Rx 緩衝器 0
{
 // Initialize the filter structure
 IfxCan_Filter filter;

 filter.number = 0;
 filter.elementConfiguration = IfxCan_FilterElementConfiguration_storeInRxBuffer;
 filter.id1 = 0x00;
 filter.rxBufferOffset = IfxCan_RxBufferId_0;

 IfxCan_Can_setStandardFilter(&canNode[0], &filter);
 } 的過濾器

//為 RxBuffer 1
設置過濾器 {
 IfxCan_Filter filter;

 filter.number = 1;
 filter.elementConfiguration = IfxCan_FilterElementConfiguration_storeInRxBuffer;
 filter.id1 = 0x7ff;
 filter.rxBufferOffset = IfxCan_RxBufferId_1;

IfxCan_Can_setStandardFilter(&canNode[0], &filter);
 }

通過這種方式,我們嘗試了,但只有第一個配置的即可配置並接收來自該特定 id 的消息。

你能幫我嗎?

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/AUIRX-tc387-CAN0-not-receiving-messages/m-p/687720

0