请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: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。
谢谢。