"Thread:controlSUITE"中讨论的其他器件
我使用的是 HRCAP_Cal () 和 TRM: TMS320x2806x 微控制器技术参考手册(修订版 I)(TI.com)
页:414、在函数中提到: uint16 HRCAP_Cal (uint16 HRCAPModule、uint16 PLLClk、易失性结构 ePWM_regs * ePWMModule)
HRCAPModule 是一个整数值的 HRCAP 模块编号(也就是说、对于 HRCAP1为"1"、对于 HRCAP2为"2")。 此 HRCAP 模块将仅用于校准、不能用于捕获脉冲宽度。
但是、当我在我的代码的后台尝试校准 HRCAP 时、 无论输入如何、我始终获得周期、开和关的值为69905077、34948553和34948553。
我观察到、对未使用的 HRCAP 模块使用基于 0的索引、对于 HRCAP1使用"0"、对于 HRCAP2使用"1"、可为我提供正确的值、 在将我的代码与 TI 示例 HR 2806x 进行比较时、我发现 HRCAP_REGS 结构的定义有所不同、在 TI 示例中、它被定义为"volatile struct HRCAP_REGS *HRCAP[NUM_HRCAP]={0、&HRCap1Regs、&HRCap2Regs、
&HRCap3Regs、&HRCap4Regs};"
我将其定义为 "volatile struct HRCAP_REGS *HRCAP[4]= {&HRCap1Regs、&HRCap2Regs、&HRCap3Regs、&HRCap4Regs};"
当我将 HRCAP 的结构重新定义为 "volatile struct HRCAP_REGS *HRCAP[NUM_HRCAP]={0、&HRCap1Regs、&HRCap2Regs、
&HRCap3Regs、&HRCap4Regs};"然后我也可以获得基于"1"的索引的正确答案。
TRM 并不基于 HRCAPRegs 的结构提供关于使用未使用的 HRCAP 模块的信息、它只是说"HRCAPModule 是一个整数值(即、对于 HRCAP1为"1"、对于 HRCAP2为"2")。 此 HRCAP 模块将仅用于校准、不能用于捕获脉冲宽度。 由于 TI 不透露 HRCAP_Cal ()函数,我想知道 HRCAP 中未使用的 HRCAP 索引是否取决于用户。