主题中讨论的其他器件:C2000WARE
大家好、香榭丽舍、
我的客户在 C2000Ware 中使用 F28004x 和 driveilib (v1_00_04_00)。
他们发现的一个问题是、ASysCtl_selectCMPHPMUX 和 ASysCtl_selectCMPLPMUX 函数中的操作似乎不正确。
由于要在这2个函数中操作的寄存器是32位的、而定义的宏不是默认为32位的、因此当移位运算结果超过65535时、将会出现错误、因此下面的代码:
(ASHSCTL_CMPLPLXSEL_CMP1LPMXSEL_M <<(uint32_t)选择)
应修改为:
(((uint32_t) ASYSCTL_CMPLXSEL_CMP1LPMXSEL_M <<(uint32_t)选择)
您能否检查它是否为真、或者我们是否将在将来的版本中进行更正?
此致、
张卫健
