[讨论] CAPFIFO 读数总不正确

betopelec   2008-11-4 12:23 楼主


我的程序可能使那里没有设置好,用capfifo来测速,但capfifo读出来的数总不正确,在我的程序里,每一次进cap中断读一次capfifo的值,但capfifo的状态位除了在开始测速。转速特别低时刻能为01或10,大多数时间是11,读出的数与示波器上显示的数偶尔或相等但大多时间是不等的,请问是什么原因我的cap中断程序:
interrupt void CAPINT4_ISR(void)   // EV-B
{
        PieCtrl.PIEACK.all = PIEACK_GROUP5;        // Must acknowledge the PIE group
         EvbRegs.EVBIFRC.bit.CAP5INT=1;
        rMHall_1=EvbRegs.CAP5FIFO;
        EvbRegs.T4CNT=0x0000;
       
        rMHall_2_1 =7812.5/rMHall_1;
        EALLOW;

        EvbRegs.EVBIMRC.all=EvbRegs.EVBIMRC.all|0x0002;//允许CAP5中断
           
        EINT;         //返回前开中断
        return;
}
请帮我解答!
非常感谢 本帖最后由 dontium 于 2015-1-23 13:18 编辑

回复评论 (5)

CAPFIFO 读数总不正确



现在好了吗?我也在弄CAP,用他测量频率,我测出来的频率有跳变,正在找原因,弄好了告诉一下好吗?谢谢 本帖最后由 dontium 于 2015-1-23 13:18 编辑
点赞  2008-11-6 03:50
连续两次读cap  ,估计是fifo 溢出
点赞  2008-11-11 13:14
你从CAP5FBOT中读数据试试.

我个人觉得CAP模块有问题的.每次一进中断,状态寄存器就显示有溢出[丢失一个数据,进来两个数据]
点赞  2008-11-12 06:24

2407捕获测频

是在CAP中断里连续两次读CAPnFBOT的数据吗(算出一个频率)?还是进一次读一次,进两次中断才能算一个频率?
点赞  2008-11-13 03:42

回复 楼主 betopelec 的帖子

你好,前辈,我也遇到这个问题,请问你是怎么解决的呀,我困扰好几天了
点赞  2011-11-3 15:04
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复