N76E003的输入捕获功能还是挺强大的,具体的说明在这里就不多讲,配置的步骤如下:
(1) 将要检测输入捕获的IO口配置成输入模式;
(2) 选择信道输入CAP0/1/2,在官方的例程中使用TIMER2_CAP1_Capture_Mode等该宏定义进行进行配置,但是在这里一定要注意,进入这个宏定义,是对T2CON和T2MOD的配置,而T2MOD是对定时器2的时钟进行分频操作的寄存器,而该宏定义直接将高4位赋值为8,所以是不分频,因此,如果有对定时器2分频的操作,一定将分频语句放在这条语句之后,否则你的分频是无效的。也就是下面步骤(3)
(3)设置分频(可选)
(4)然后是设置触发捕获的方式,支持双边沿,上升沿,下降沿,具体按照实际需求来
(5) 设置CAPCR,这个是关键的步骤,设置这个之后在发生了捕获事件之后就会直接将定时器的值清0,重新开始计时,这样的好处是我们完全可以不去管它会溢出的情况了。
(6)如果是中断的方式就开启中断设置中断标志位,编写中断服务函数等
(7)然后读取CxH,CxL中的数据(如 data=(C1H)<<4+C1L);
|