请教PIC24FJ64GA002的计数器使用

[复制链接]
2900|3
 楼主| blueroy 发表于 2009-2-19 17:07 | 显示全部楼层 |阅读模式
请教PIC24FJ64GA002的计数器使用<br /><br />我发现计数器必须先经过一个上升沿脉冲,从第二个上升沿脉冲才开始计数,为什么?我需要的是第一个上升沿来了就开始计数。<br /><br />初始化代码如下<br /><br />&nbsp;RPINR3bits.T2CKR&nbsp;=&nbsp;11;&nbsp;&nbsp;//计数器2分配给RP11<br /><br />&nbsp;T2CON&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;TMR2&nbsp;=&nbsp;0;<br />&nbsp;&nbsp;&nbsp;PR2&nbsp;=&nbsp;0xffff;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//周期值<br />&nbsp;&nbsp;&nbsp;T2CON&nbsp;=&nbsp;(0&nbsp;&lt&lt&nbsp;5)|(0&nbsp;&lt&lt&nbsp;4);&nbsp;&nbsp;&nbsp;//1分频<br />&nbsp;&nbsp;&nbsp;&nbsp;T2CONbits.TCS&nbsp;=&nbsp;1;//TxCK外部时钟上升沿触发计数<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;T2CONbits.TON&nbsp;=&nbsp;1;//启动timer<br />
headwolf 发表于 2009-2-19 20:53 | 显示全部楼层

有异步计数器方式吧。设置一下看看。

  
 楼主| blueroy 发表于 2009-2-21 08:19 | 显示全部楼层

好像只有一个控制寄存器,没有这个设置

第一个脉冲上升沿来了,用示波器观察高电平保持在那儿,计数器没有计数,我再转动设备,产生了一个下降沿,继续转动设备,又产生一个脉冲的上升沿,这个时候计数器才开始计数。<br />也就是说第一个脉冲计数器没有去计数,丢了。<br />计数器开始计数后,后面的脉冲都没有计丢。
 楼主| blueroy 发表于 2009-3-11 09:07 | 显示全部楼层

我用MPLAB软件仿真外部异步激励又是正常计数的

我还是搞不明白。<br />我特意用一个I/O口产生方波,直接用导线连接到计数器口上,让计数器计数发现还是丢第一个计数。<br />我初始化计数器值为0,第一个计数脉冲来了后计数器值还是0,第二个计数脉冲来了才变成1.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

46

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部