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.

[参考译文] TMS320F28075:关于 C2000ware 驱动程序库#39;s "ca.c"

Guru**** 2589300 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/666497/tms320f28075-about-c2000ware-driver-library-s-can-c

器件型号:TMS320F28075
主题中讨论的其他器件:C2000WARE

大家好、

以下"CAN.c"源代码不正确。

C:\ti\c2000Ware_1_00_03_00\driverlib\f2807x\driverlib\ca.c

此源代码的 CAN_readMessage()按如下方式访问 CANA 寄存器。

//
//现在清除新的数据标志
//
//将报文对象传输到由指定的报文对象
// Objid。
//
HWREG_BP (CANA_base + CAN_O_IF2CMD)= CAN_IF2CMD_TXRQST |
(Objid & CAN_IF2CMD_MSG_NUM_M);

//
//等待忙位清零
//
while (((HWREGH (CANA_base + CAN_O_IF2CMD)& CAN_IF2CMD_BUSY)== CAN_IF2CMD_BUSY)

也就是说、该 API 不会用于 CANB。

但是、使用"Driver.lib"调用此 API 时、可以使用 CANB。

换言之、我们假设"Driver.lib"中使用的"ca.c"与我提到的上述"ca.c"不同。

让我知道 CAN.C 的正确源代码

此致、
Sasaki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sasaki、您好!

    在 driverlib 中使用 CANA_base 是不正确的、应该是传递给 API 的参数基址。

    如果适用、我将检查并更正此问题以了解更多版本。

    正确的代码应具有 base 而不是 cana_base。

    谢谢、此致

    Harshmeet