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.

[参考译文] TMS320F280049:Driverlib。 计算 Cmpss 的正输入时出错。

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/681789/tms320f280049-driverlib-error-in-cofiguring-positive-inputs-of-cmpss

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

你(们)好 我使用 的是 C2000Ware 1.00.04.00。

在我看来、在配置 cmpss 的模拟输入时发现错误。
函数 ASysCtl_selectCMPHPMUX 和 ASysCtl_selectCMPLPMUX。
在写入寄存器字段之前、此函数会清除某些字段、如下所示:  

(HWREG (ANALOGUESUBSYS_BASE + ASHSCTL_O_CMPLPLXSEL)和
μ~(((uint32_t) ASHSCTL_CMPLPLXSEL_CMP1LPMXSEL_M <<(uint32_t) select))

但粗体文本缺失。 因此、在配置 cmp6 (选择等于16)或更大值时、我们将16位值移位到16并得到0。
但结果、它清除了0-2位的 cmp1hp (不知道为什么、我们只应用于寄存器反向掩码0、例如0xFFFF)。
使用 uint32_t 时、一切正常。


因此、以下两个函数中存在错误: ASysCtl_selectCMPHPMUX 和 ASysCtl_selectCMPLPMUX。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您报告这一情况、Igor。 我同意你的修正。 我已经提交了错误。 我们将在未来的 C2000Ware 版本中更新这些函数。

    惠特尼