查看: 3676|回复: 11

[已解决] 用PE生成的外部中断如何清除中断标记位(已解决)

[复制链接]

该用户从未签到

74

主题

266

帖子

0

高级会员

Rank: 4

积分
747
最后登录
2023-5-24
发表于 2014-9-19 11:01:00 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZJJ 于 2014-9-19 13:37 编辑

用code warrior的PE生成的外部中断我用的是PTA7
void EInt1_OnInterrupt(void)
{
  /* Write your code here ... */                              
}
它是自动清除中断标记吗?
我加个PORTA_ISFR |= PORT_ISFR_ISF(7);对吗?

我知道答案 目前已有11人回答
QQ图片20140919105831.jpg
回复

使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2014-9-19 11:05:11 | 显示全部楼层
    不是的,需要你清除对应中断产生的中断标志位,比如外部中断1口引起的,要清除外部中断1的中断标志位寄存器。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-9-19 11:06:46 | 显示全部楼层
    楼上正解。
    回复

    使用道具 举报

    该用户从未签到

    74

    主题

    266

    帖子

    0

    高级会员

    Rank: 4

    积分
    747
    最后登录
    2023-5-24
     楼主| 发表于 2014-9-19 11:07:41 | 显示全部楼层
    PORTA_ISFR |= PORT_ISFR_ISF(7);我这条代码不对吗?清除PTA7的外部中断标记!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74

    主题

    266

    帖子

    0

    高级会员

    Rank: 4

    积分
    747
    最后登录
    2023-5-24
     楼主| 发表于 2014-9-19 11:08:00 | 显示全部楼层
    安 发表于 2014-9-19 11:05
    不是的,需要你清除对应中断产生的中断标志位,比如外部中断1口引起的,要清除外部中断1的中断标志位寄存器 ...

    PORTA_ISFR |= PORT_ISFR_ISF(7);我这条代码不对吗?清除PTA7的外部中断标记!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74

    主题

    266

    帖子

    0

    高级会员

    Rank: 4

    积分
    747
    最后登录
    2023-5-24
     楼主| 发表于 2014-9-19 11:17:28 | 显示全部楼层

    #define PORTA_ISFR                               PORT_ISFR_REG(PORTA_BASE_PTR)
    #define PORT_ISFR_ISF(x)                         (((uint32_t)(((uint32_t)(x))<<PORT_ISFR_ISF_SHIFT))&PORT_ISFR_ISF_MASK)
    //Interrupt Status Flag Register (PORTx_ISFR)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-9-19 11:17:51 | 显示全部楼层
    本帖最后由 FSL_TICS_ZJJ 于 2014-9-19 11:18 编辑

    PORTA_PCR7 |= PORT_PCR_ISF_MASK;
    其实就是给PORTA_PCT7[ISF]写1,清除。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-9-19 11:19:47 | 显示全部楼层
    xiaoming1021 发表于 2014-9-19 11:17
    #define PORTA_ISFR                               PORT_ISFR_REG(PORTA_BASE_PTR)
    #define PORT_ISFR_I ...

    你用7楼的写法试试。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    74

    主题

    266

    帖子

    0

    高级会员

    Rank: 4

    积分
    747
    最后登录
    2023-5-24
     楼主| 发表于 2014-9-19 11:26:07 | 显示全部楼层
    好的!!!可以清除了。多谢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-9-19 11:28:05 | 显示全部楼层
    xiaoming1021 发表于 2014-9-19 11:26
    好的!!!可以清除了。多谢!

    不客气,其实这种往往是代码没有直接控制到相关寄存器,如果出现问题,不妨直接对寄存器控制试试。
    后续如果遇到问题欢迎继续交流。
    楼主如果问题解决了,还请帮我们及时结贴,在问题标题的结尾加上(已解决),方便我们查看未结帖。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 00:46 , Processed in 0.113607 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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