查看: 2807|回复: 4

[求助] KL25Z PORTD 中断问题

[复制链接]
  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
    发表于 2016-9-5 06:14:04 | 显示全部楼层 |阅读模式
    问题如题,查看了KL25P80M48SF0RM.pdf手册关于Chapter 11 Port control and interrupts (PORT),其中没有说明那个IO口不能中断;在MKL25Z4-CMSIS.h的中断向量表中明确声明PORTD的中断向量为31[PORTA的中断向量为30],但参考案例的设置中断和中断处理程序[照抄的,也许就是这个问题],这段舞如何反应。代码如下://中断定义

    IO_IRQ_CONFIG(MKL_PORTD,5,31);
    //中断处理
    void PORTD_IRQHandler(void){
    //if(PORTD_ISFR == (1<<5)){(PCR(D,5) & (~PORT_PCR_ISF_MASK))|PORT_PCR_IRQC(31);}
    if(PORTD_ISFR == (1<<5)){PORTD_PCR5 &=~PORT_PCR_ISF_MASK;}//清除中断标志
    jsq++;
    }

    这程序中加上了
    NVIC_EnableIRQ(PORTD_IRQn);
    NVIC_SetPriority(PORTD_IRQn,3);//PORTD interupt level

    在中断处理中上下两段都没有作用,实际上程序好像没有执行中断。
    在本站搜了相关的IO中断,参考改也无用。恳请指教,先谢谢了。感觉学习Freescale的ARM比较累。过一段时间会贴上MK60的一些玩的东西,主要就是他的KDS太多,互相不兼容。见过的代码就有:KDS1.0;1.3.2.0,3.0;有MKL缀的,FLS缀的,有PDD缀的,...,不一而足;有时越看越晕。
    我知道答案 目前已有4人回答
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-2-13 08:29
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    531

    主题

    2048

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    210
    最后登录
    2018-8-14
    发表于 2016-9-5 06:44:07 | 显示全部楼层
    签到 签到
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-9-5 06:47:38 | 显示全部楼层
    早能干点事,您也够早的。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24866
    最后登录
    2025-7-18
    发表于 2016-9-5 09:50:53 | 显示全部楼层
    PORTA和PORTD的每个引脚都是支持中断的,是的,以前的代码是比较杂的,我在这里说明一下,现在和未来的代码会延续KSDK2.0的风格,中间会不断添加支持的芯片类型,NXP还是会继续提高免费的IDE-KDS,当然版本会不断更新。
    从上面的代码看不出对寄存器到底做了什么样的配置,建议楼主调试的时候对应寄存器看一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-14 16:49
  • 签到天数: 296 天

    连续签到: 1 天

    [LV.8]以坛为家I

    241

    主题

    2239

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    4473
    最后登录
    2020-4-14
     楼主| 发表于 2016-9-5 12:16:26 | 显示全部楼层

    RE: KL25Z PORTD 中断问题

    小恩GG 发表于 2016-9-5 09:50
    PORTA和PORTD的每个引脚都是支持中断的,是的,以前的代码是比较杂的,我在这里说明一下,现在和未来的代码 ...

    您好!我是参考了一些程序和KL25P80M48SF0RM这个最长的PDF文档,其中的终端相关设置和得到的寄存器值,PTD-5=0x00090101
    有关中断的bit19-16=1001,上升沿引起中断,bit8=1为GPIO模式,符合中断要求,bit24是中断标志位,不知如何测试。
    PTA-13=0x00090105
    与PTD-5相同。
    不过以前设置错了,将bit19~16设为0101,没有这个中断方式。
    现在的问题是中断反应比较慢,还没有测试反应速度是多少。谢谢。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-19 10:32 , Processed in 0.097465 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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