N76E003的输入捕获处理

       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);

      如何验证捕获出来的数据是不是准确的呢?

     (1) 用示波器看你输入的波形,最好是固定频率的方波,假设配置的是双边沿触发的,那么就在示波器上测波形充上升沿到下降沿的时间是多少,然后与你程序中读出的 data*1/频率,例如,16M的时钟是62.5ns,就用data*62.5 的值与示波器上测量的值比较,看误差大小。

   (2)如果的项目中的波形是频率并不是固定的,那么你可以尝试使用PWM配置出固定频率的波形,送到这个IO口上,或者可以从示波器上的右下角的两个端口中将上面的端口中连接到你的这个输入端口中,示波器的这个端口提供的是一个固定的频率50%占空比的方波,具体的频率我也忘了。

 以上就是N76E003的输入捕获的一些知识。

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值