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.
工具/软件: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()中没有得到中断/命中断点?
谢谢!
托德