This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

使用C2000Ware 內的f2086x 的 ecan_back2back範例執行時一直無發接收到資料

Other Parts Discussed in Thread: C2000WARE, LAUNCHXL-F28069M

如標題所示,

目前測試環境CPU是使用F28069,CCS v8.1 執行C2000Ware內f2806x的ecan_back2back範例

那看範例內說明是啟動self-Test Mode所以不需任何電路,

但在執行該程式的過程發現她會一直卡在底下程式的While回圈內,那我有去翻暫存器說明如果卡在那回圈內代表說發送沒有成功,

所以也不會進行到下面的判斷Mail Box內資料的部分。

想問說是否有人有遇過同樣問題?以及該問題該如何解決

for(;;)

{

//
// Set TRS for all transmit mailboxes
//
ECanaRegs.CANTRS.all = 0x0000FFFF;

//
// Wait for all TAn bits to be set
//
while(ECanaRegs.CANTA.all != 0x0000FFFF ) -----> 會一直停在這回圈內
{

}

  • 你好,我会在测试后给你答复。
  • 你可以试一下:

    1、更换代码,只使用MBX0:

    //
    // Set TRS for all transmit mailboxes
    //
    ECanaRegs.CANTRS.all = 0x00000001;
    
    //
    // Wait for all TAn bits to be set
    //
    while(ECanaRegs.CANTA.all != 0x00000001 ) -----> Stuck point

    你可以尝试任何一个MBx,但一次只能尝试一个。

    2、检查一下邮箱RAM,可以下载应用报告:https://www.ti.com/lit/an/spra876b/spra876b.pdf?ts=1595645969964

    然后运行MBXRAMRW例程,不过里面的app.note是基于F28335的,需要注意更换的SYSCLKOUT寄存器的配置。CANBTR寄存器的话应该不需要更改,因为你只测试RAM而不进行外部通信。请确保SYSCLKOUT频率配置正确(90 MHz)。

  • HI Green Deng

    測試過第一個方法還是無效,仍然會卡在While Loop內無法往下進行。

    而方法二則是想請問說該範例是在那裡可以下載,我根據PDF內路徑說明在C2000Ware內尋找可是都找不到,

    (path: C:\ti\c2000\C2000Ware_1_00_01_00\device_support\f2833x\examples)

    我看我電腦內安裝的C2000Ware內範例只有兩個分別為ecan_back2back, 和 ecan_a_to_b,

    想請問說是否我C2000Ware有未安裝完整的部分?還是該範例只在c2000 Ware_1_00_01內而已?

    謝謝。

    (Note: 底下圖片為我電腦內C2000 Ware內的example)

  • 这个例程不属于C2000ware,需要单独下载。在文档的第一页中有指出:可从以下URL下载项目文件:www.ti.com/.../spra876。
  • HI Green Deng

    我有測試用MBXRAMRW_A下去測試那確認可寫入MAIL BOX資訊,但我看他並沒有測試發送部分?

    想問說那是否有任何建議謝謝。

  • 这个示例是用于测试邮箱完整性的,测试的是整个邮箱RAM中的每一位。,而不测试发送/接收功能。另外,back2back例程是经测试过的程序。 如果它在一个板上不起作用,请在另一块(已知有效)板上尝试。
    你尝试过actual transmission吗? CAN_(TXLOOP)
  • 请问您现在使用的是自己设计的板子还是开发板(请给出型号)?

    测试环境:CCS10

    软件:  C:\ti\c2000\C2000Ware_3_02_00_00\device_support\f2806x\examples\c28\ecan_back2back

    硬件:28069M launchpad  LAUNCHXL-F28069M

    测试结果:

  • HI Susan

    謝謝你的回應,我這邊最後有找到問題

    目前測試用的板子是自己設計的板子,那由於當初CAN沒有用到所以該兩隻腳位是直接10K下地,

    那由於當初看手冊內寫CAN 的Self Test模式是內部底層處理所以就沒對外部電路做修改,

    那目前測試就算在STM Mode下該腳位不能10K下地,要改為3.3V接4K接著再接到CAN腳位

    這樣程式就可正常運行。

  • 很高兴您能解决问题,谢谢分享您的解决方案