TI中文支持网
TI专业的中文技术问题搜集分享网站

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

如標題所示,

目前測試環境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 ) —–> 會一直停在這回圈內
{

}

Green Deng:

你好,我会在测试后给你答复。

Green Deng:

你可以试一下:

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)。

user1373333:

回复 Green Deng:

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)

Green Deng:

回复 user1373333:

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

user1373333:

回复 Susan Yang:

HI Susan

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

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

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

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

這樣程式就可正常運行。

Susan Yang:

回复 user1373333:

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

赞(0)
未经允许不得转载:TI中文支持网 » 使用C2000Ware 內的f2086x 的 ecan_back2back範例執行時一直無發接收到資料
分享到: 更多 (0)