主题中讨论的其他器件: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\*中未涉及。
此致、
秀彦