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.

[参考译文] CCS/TIDA-0.0203万:在TI CAN上使用CAN0到以太网板时出现问题

Guru**** 2033340 points
Other Parts Discussed in Thread: TM4C129XNCZAD
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/simulation-hardware-system-design-tools-group/sim-hw-system-design/f/simulation-hardware-system-design-tools-forum/575384/ccs-tida-00203-problems-using-can0-on-ti-can-to-ethernet-board

部件号:Tida-0.0203万
主题中讨论的其他部件: DK-TM4C123GTM4C129XNCZAD

工具/软件:Code Composer Studio

您好,

我们正在使用TI CAN以太网TIDA-0.0203万参考设计。 本演示使用CAN1与DK-TM4C123G通信。 我们有这种方式。 我们希望使用CAN0进行测试,以便对代码进行小幅更改。 我们复制了TIDA-0.0203万板上的电路,将CAN收发器添加到板上的扩展连接器,因此CAN0TX和CAN1RX的电路与评估板上的CAN1接口类似。 我们正在尝试通过从 DK-TM4C123G发送CAN消息,但现在发送到 扩展连接器上的"CAN0"接口来运行相同的演示。  我们看到数据包进入TP7上的CAN0RX ,但我们没有在CAN1IntHandler中遇到断点。

1)我们将代码中的CAN1_BASE更改为CAN0的地址,而不是在hw_memmap.h中 (这样,我们对代码的更改会很小)

#define CAN1_BASE              0x4004万 // CAN1 0x4004.1万,CAN0 0x4004万

2)通过更改tm4c129xnczad_startup_cs.c中的以下内容,我们在CAN1InHandler函数中增补为CAN0的ISR:

IntDefaultHandler,                     // CAN0
CAN1IntHandler,                     // CAN1

至:

CAN1IntHandler,                     // CAN0
CAN1IntHandler,                     // CAN1

现在,如果CAN数据包进入CAN0,它将向CAN1IntHandler (这不起作用)进行矢量处理。

3)我们尝试在端口T寄存器中为CAN0启用正确的备用功能bye用这些未注释行替换注释行:在演示代码中仅启用了CAN1TX和CAN1RX ,因此我们启用了CAN0TX和CAN0RX:

//   gPIO_PORTT_AFSEL_R |= 0x0C;//原始
   GPIO _PORTT_AFSLE_R |= 0x0F;//添加了Todd

//   gPIO_PORTT_DEN_R |= 0x0C;//原始
   GPIO _PORTT_DEN_R |= 0x0F;//添加了Todd

//   gPIO_PORTT_PCTL_R |=0X7700;//原始
   GPIO _PORTT_PCTL_R |= 0X7777;//添加了Todd

重新编程电路板后,数据包通过CAN0收发器进入CAN0接口,并进入MCU上的CAN0RX (如  我们在TP7上所见)。

为什么我们在 CAN1INTHandler()中没有得到中断/命中断点?

谢谢!

托德