本帖最后由 我是土匪 于 2012-4-11 14:15 编辑
芯片:PIC16F1824
本意,2路捕获,计算输入频率,比较大小。
因为单片机还要处理其它数据,认为硬件捕获比触发边沿中断更合理,而且频率太高变压触发中断和定时器方式会处理不准。
遇到问题:
捕获都是基于一个定时器TIMER1,
即“捕捉模式使用16 位Timer1 资源”,
下面有这样的描述:
“当将任一CCP 配置为触发特殊事件时,触发信号将清
零TMR1H:TMR1L 寄存器对。该特殊事件不会引起
Timer1 中断。CCP 模块仍可配置为产生CCP 中断。”
这就是说,只要友谊路匹配发生TMR1H:TMR1L 先把数据copy到CCPR1H:CCPR1L寄存器,之后立即清零TMR1H:TMR1L 。
这就意味着多路匹配同事使用会乱套,也就是说只有一路匹配有效,其他几路是摆设了?
或者说TMR1H:TMR1L里面的数据不会被清零,仅仅是累加,我得到的CCPR1H:CCPR1L要做数据减法处理。 |