我看了一下输入捕捉的Bean,该输入捕捉通道命名为Petrol1_Detect,以下两个函数是PE自动生成的函数
#define Petrol1_Detect_Reset() (Petrol1_Detect_CntrState = TCNT , ERR_OK)
#define Petrol1_Detect_GetCaptureValue(Value) \
(*(Value) = TC0 , *(Value) -= Petrol1_Detect_CntrState , ERR_OK)
在Reset()函数中只是把TCNT的值赋给了一个变量,而不是将TCNT复位,而在GetCaptureValue()中只是简单地将TC0-TCNT,即使TC0小于TCNT,也能得到正确的值,但是捕捉周期不能大于时钟计数周期,若大于就得配合计数溢出中断次数才能得到正确的值,这么理解没错吧?
|