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/TMS320F28054F:eCAN 结构是 Instaspin 项目中未解析的符号

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/924968/ccs-tms320f28054f-ecan-structs-are-unresolved-symbols-in-instaspin-project

器件型号:TMS320F28054F

工具/软件:Code Composer Studio

我正在努力将 eCAN 集成到 Instaspin FOC 实验的修改版本实验5b 中。 我在与 can.h 头文件相同的位置添加了一个 CAN.c 文件(sw/drivers/ca/.....) /src)。 为了以最简单的形式对其进行测试、CAN.c 仅包含以下内容:

//
//包含的文件
//
#include "sw/drivers/ca/src/32b/F28x/f2805x/ca.h"

//此文件中找到的函数的原型语句。

void CAN_init (void)
{
ECANaRegs.CANAA.ALL = 0;
返回;
} 

我也暂时简化了我的主方法,只包括对 CAN_init()的调用。 可以在 can.h 中定义 ECanaRegs、我可以右键单击->打开要在那里获取的声明。 我得到的错误告诉我、ECanaRegs 是一个未解析的符号(当我调用它们时、ECANaMbox 或影子寄存器也是如此)。 当我注释掉该定义时、我会得到一个不同的错误(ECanaRegs 未定义)、因此我知道它可以看到 can.h 文件。

在我从 C2000中有另一个包含相同定义的文件(f2805x_eCAN-h)之前、我已经从项目中完全删除了该文件。 从主方法调用这些结构时、我会遇到相同的"未解析符号"错误? 出什么问题了?

谢谢