打印
[技术求助]

读数总不正确

[复制链接]
1110|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiajs|  楼主 | 2014-7-12 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的程序可能使那里没有设置好,用capfifo来测速,但capfifo读出来的数总不正确,在我的程序里,每一次进cap中断读一次capfifo的值,但capfifo的状态位除了在开始测速。转速特别低时刻能为01或10,大多数时间是11,读出的数与示波器上显示的数偶尔或相等但大多时间是不等的,请问是什么原因

相关帖子

沙发
shimx| | 2014-7-12 20:47 | 只看该作者
程序看看

使用特权

评论回复
板凳
jiajs|  楼主 | 2014-7-12 20:49 | 只看该作者
我的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;

}

使用特权

评论回复
地板
jiaxw| | 2014-7-12 20:49 | 只看该作者
你从CAP5FBOT中读数据试试

使用特权

评论回复
5
liliang9554| | 2014-7-12 20:56 | 只看该作者
我个人觉得CAP模块有问题的.每次一进中断,状态寄存器就显示有溢出[丢失一个数据,进来两个数据]

使用特权

评论回复
6
zhanghqi| | 2014-7-12 20:57 | 只看该作者
是在CAP中断里连续两次读CAPnFBOT的数据吗(算出一个频率)?

使用特权

评论回复
7
zhaoxqi| | 2014-7-12 20:58 | 只看该作者
zhanghqi 发表于 2014-7-12 20:57
是在CAP中断里连续两次读CAPnFBOT的数据吗(算出一个频率)?

是啊,还是进一次读一次,进两次中断才能算一个频率?

使用特权

评论回复
8
huangchui| | 2014-7-12 20:59 | 只看该作者
我u饿猜测可能有溢出而丢了数据

使用特权

评论回复
9
lizye| | 2014-7-12 21:00 | 只看该作者
楼上说的也是有道理的,估计是数据丢失了

使用特权

评论回复
10
jiajs|  楼主 | 2014-7-12 21:01 | 只看该作者
嗯,估计也是,结贴了

使用特权

评论回复
11
jiajs|  楼主 | 2014-7-12 21:01 | 只看该作者
多谢大家了啊

使用特权

评论回复
12
mmuuss586| | 2014-7-13 10:43 | 只看该作者
程序不对吧,拿示波器看下时序;

使用特权

评论回复
13
shenmu2012| | 2014-7-14 22:10 | 只看该作者
受什么外界的环境影响了。。

使用特权

评论回复
14
kkzz| | 2014-7-14 23:41 | 只看该作者
外部中断?

使用特权

评论回复
15
kkzz| | 2014-7-14 23:41 | 只看该作者
使用上升沿或者下降沿

使用特权

评论回复
16
firstblood| | 2014-7-15 22:31 | 只看该作者
来看看的了

使用特权

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

本版积分规则

940

主题

11975

帖子

6

粉丝