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.
你(们)好 我使用 的是 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。
谢谢。