查看: 3132|回复: 2

[MPC] MPC5644A INTC问题

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
11
最后登录
2014-11-14
发表于 2014-10-14 10:06:30 | 显示全部楼层 |阅读模式
我使用的是Codewarrior 10.5环境,调试MPC5644A的INTC模块时遇到了奇怪的现象:定时器中断只能进入一次。
用飞思卡尔cw2.10开发环境里提供的例程代码验证PIT中断服务程序时,完成系统时钟、定时器、中断控制器等的初始化后,等待中断进入,问题是中断只能进入一次。之后不再进入中断。
我只启动了一个定时器,优先级为0xA。
现象是:void INTC_INTCInterruptHandler(void)
{
    INTCInterruptFn *handlerFn = (INTCInterruptFn*)(*(unsigned int*)&INTC.IACKR.R);

    (**handlerFn)();

    INTC.EOIR.R = 0;
}
"INTC.EOIR.R = 0;"这行代码执行完,INTC.CPR的值并未从0xA恢复成中断进入之前的0.导致下一次定时器触发中断时,由于优先级与INTC.CPR的值相等,不能进入中断服务。
问题是,在CW2.10下调试,完全没问题啊,对EOIR写操作后,CPR的值就自动恢复了。
大家有遇到过这个现象吗?
求帮忙啊,非常感谢!
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

0

主题

218

帖子

0

中级会员

Rank: 3Rank: 3

积分
472
最后登录
1970-1-1
发表于 2014-10-14 19:24:18 | 显示全部楼层
建议关闭其他中断源和中断响应再试一下。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

802

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1763
最后登录
1970-1-1
发表于 2014-10-29 17:46:33 | 显示全部楼层
单独再重新测试下, 每次 中断争取2次, 再检查
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-9-8 03:38 , Processed in 0.085232 second(s), 23 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表