你(们)好
我的项目使用 cmpss 模块4检测宽度为~ 3.5-3.7us 的脉冲、最大电压为3.3V、并使用以下代码
CMPSS_enableModule (PLC_CMPSS_BASE);
ASysCtl_selectCMPHPMUX (ASYSCTL_CMPHPMUX_SELECT_4、4U);
CMPSS_CONFIGHighComparator (CMPSS4_base、CMPSS_INSRC_DAC);
CMPSS_CONFIGDAC (CMPSS4_base、CMPSS_DACREF_VDAC | CMPSS_DACVAL_SYSCLK |
CMPSS DACSRC_Shdw);
CMPSS_setDACValueHigh (CMPSS4_base、4000);
//
//配置输出信号。 CTRIPH 和 CTRIPOUTH 都将由馈送
//异步比较器输出。
//
CMPSS_CONFIGOutputsHigh (CMPSS4_base、CMPSS_TRIP_ASYNC_COMP |
CMPSS_TRIPOUT_ASYNC_COMP|CMPSS_TRIPOUT_LATCH);
在 main.c 循环中、我使用以下代码来检查 CMPSS4的状态
while ((CMPSS_getStatus (CMPSS4_base)& CMPSS_STS_HI_LATCHFILTOUT)!= 0U)
{
;
}
但是,CMPSS getStatus()总是返回0。 我已经做了一些测试。 如果信号为0至3.3V 并保持3.3V、则使用该功能返回1。
我的问题是、CMPSS 是否未检测到脉冲宽度在微秒方面太小
是转弯、还是我犯了个错误。
BR
HK Woo


