打印

请教PIC24FJ64GA002的计数器使用

[复制链接]
1907|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
blueroy|  楼主 | 2009-2-19 17:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教PIC24FJ64GA002的计数器使用

我发现计数器必须先经过一个上升沿脉冲,从第二个上升沿脉冲才开始计数,为什么?我需要的是第一个上升沿来了就开始计数。

初始化代码如下

 RPINR3bits.T2CKR = 11;  //计数器2分配给RP11

 T2CON = 0;
   TMR2 = 0;
   PR2 = 0xffff;       //周期值
   T2CON = (0 << 5)|(0 << 4);   //1分频
    T2CONbits.TCS = 1;//TxCK外部时钟上升沿触发计数
    
    T2CONbits.TON = 1;//启动timer
沙发
headwolf| | 2009-2-19 20:53 | 只看该作者

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

使用特权

评论回复
板凳
blueroy|  楼主 | 2009-2-21 08:19 | 只看该作者

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

第一个脉冲上升沿来了,用示波器观察高电平保持在那儿,计数器没有计数,我再转动设备,产生了一个下降沿,继续转动设备,又产生一个脉冲的上升沿,这个时候计数器才开始计数。
也就是说第一个脉冲计数器没有去计数,丢了。
计数器开始计数后,后面的脉冲都没有计丢。

使用特权

评论回复
地板
blueroy|  楼主 | 2009-3-11 09:07 | 只看该作者

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

我还是搞不明白。
我特意用一个I/O口产生方波,直接用导线连接到计数器口上,让计数器计数发现还是丢第一个计数。
我初始化计数器值为0,第一个计数脉冲来了后计数器值还是0,第二个计数脉冲来了才变成1.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

46

帖子

0

粉丝