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.

[参考译文] TMS320F28388D:IEL 在 C2000Ware 中 device_support/f2838x 的头文件中重复。

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1251444/tms320f28388d-iel-is-duplicated-in-header-files-on-device_support-f2838x-in-c2000ware

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

尊敬的专家:

我在 eQEP 寄存器控制驱动程序代码上遇到了一些奇怪的编译错误、如下所示。

第111行:错误#137:struct"QEPCTL_bits"没有字段"EN_CEVT2"

111)   EQep1Regs.QEPCTL.bit.IEL = 0x1U;

QEPCTL_Bits 在 f2838x_eQEP.h 中定义(C:\ti\c2000\C2000Ware_4_02_00_00\device_support\f2838x\headers\include)

struct qEPCTL_bits{// bits description
 UINT16 WDE:1;// 0 QEP 看门狗使能
  UINT16 UTE:1;// 1 QEP 单元定时器使能
  UINT16 QCLM:1;// 2 QEP 捕捉锁存模式
  UINT16 QPEN:1;// 3正交占位计数器使能
  UINT16 IEL:2;// 5:4索引事件锁存器
  UINT16 SEL:1;// 6选通事件锁存器
  UINT16 SWI:1;// 7软件初始化位置计数器
  UINT16 IEI:2;// 9:8位置计数的索引事件初始化
  UINT16 SEI:2;// 11:10选通事件初始化
  UINT16 PCRM:2;// 13:12位置计数器复位
  uint16 free_soft:2;// 15:14仿真模式
};

UNION QEPCTL_REG{
  uint16 all;
  结构 QEPCTL_BITS 位;
};

不过、IEL 符号 也是在 f2838x_sdfm_defines.h 中定义的。

(C:\ti\c2000\c2000Ware_4_02_00_00\device_support\f2838x\common\include)


#define IEH EN_CEVT1
#define IEL EN_CEVT2

您能告诉我们应该如何更改 C2000Ware 吗?

到目前为止、我将删除  f2838x_sdfm_defines.h 中的2个宏  

因为它们在 C2000Ware/device_support\f2838x\*中未涉及。

此致、

秀彦

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

    尊敬的 Hidehiko:

    因为存在错误、从何处提取此代码? 此情况是否发生了某个特定项目、以便我尝试将此错误

    此致、

    彼得

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

    尊敬的 Peter:

    >此代码是从哪里提取的,因为存在错误?  

    当我们在 C2000Ware device_support 中使用标头定义时、我们的代码包括以下内容:

    #包含 /*请参阅 device_support */

    其中包括  f2838x_device.h。

    f2838x_device.h 包括所有外设头文件。

    e2e.ti.com/.../test_5F00_build_5F00_eQEP.zip

    此致、

    秀彦

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

    尊敬的 Hidehiko-San、

    感谢您告诉我这方面的信息。 我下载了您的软件包并测试了代码、最后我看到了同样的问题。 我还将您的主代码复制到了另一个空的位域工程中、并且看到了相同的错误消息。 我将联系软件团队、看看他们以前是否通过 QEPCTL 寄存器看到过这种情况、并告诉您我收到了什么信息

    此致、

    彼得

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

    尊敬的 Hidehiko-San、

    对于给您带来的不便、我们深表歉意。 这是真正的问题。

    对于变通方法、您能否 让我知道您是否可以从 f2838x_sdfm_defines.h 注释第28行:#define IEL EN_CEVT2? 这将解决您的问题。

    此外、在注释该行之后、如果需要、可以直接在代码中使用 EN_CEVT2、而不是使用宏。  

    我们将在下一版本中修复此问题。

    此致、

    Meghavi

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

    尊敬的  Meghavi-San:

    感谢您的支持。

    >关于解决方法, 请告诉我,您是否可以评论第28行: #define IEL EN_CEVT2 from the f2838x_sdfm_defines.h ? 这将解决您的问题。

    是的、我的注释中删除了这个问题。  

    >我们将在下一个版本中修复此问题。

    感谢您的支持。

    此致、

    秀彦