查看: 8194|回复: 10

[已解决] KL46 Port中断配置方法(已解决)

[复制链接]

该用户从未签到

12

主题

103

帖子

0

新手上路

Rank: 1

积分
173
最后登录
1970-1-1
发表于 2014-2-18 10:05:42 | 显示全部楼层 |阅读模式
 配置KL46的PTA5口进行双边沿触发中断,配置完成后发现无法进入中断。
通过示波器看波形,上升沿,下降沿波形都很正常,为什么MCU无法抓到呢?
而且上升沿,下降沿中间间隔为287us,但是没有能够进入中断。
能不能给个例程参考一下?我先在的代码参考PE生成的代码,
void PTA_Init(void)
{
  /* GPIOA_PDDR: PDD&=~0x20 */
  GPIOA_PDDR &= (uint32_t)~(uint32_t)(GPIO_PDDR_PDD(0x20));        
PORT_PCR_REG(PTA_BASE_PTR,5) = PORT_PCR_IRQC(11);                          
}
set_irq_priority((INT_PORTA - 16),1);
enable_irq(INT_PORTA - 16);
我知道答案 目前已有10人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-2-18 11:26:11 | 显示全部楼层

    回复:KL46 Port中断配置方法

    楼主这种遇到问题参考PE生成代码的方法很好。
    只是PE生成代码,有可能对于某个模块设置并未写在一处,所以你可能漏掉某些地方。
     
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-2-18 11:30:17 | 显示全部楼层

    回复:KL46 Port中断配置方法

    1.在操作GPIO相关寄存器前是否已经打开对应时钟门:SIM_SCGC5寄存器的PORTA位?
    2.是否有将PORTx_PCRn寄存器的MUX复选功能切换到ALT1对应的GPIO功能?
    3.中断服务函数是否与中断向量表联系起来?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    103

    帖子

    0

    新手上路

    Rank: 1

    积分
    173
    最后登录
    1970-1-1
     楼主| 发表于 2014-2-18 13:45:23 | 显示全部楼层

    回复:KL46 Port中断配置方法

    回复第 3 楼 于2014-02-18 11:30:17发表:
    1.在操作GPIO相关寄存器前是否已经打开对应时钟门:SIM_SCGC5寄存器的PORTA位?
    2.是否有将PORTx_PCRn寄存器的MUX复选功能切换到ALT1对应的GPIO功能?
    3.中断服务函数是否与中断向量表联系起来?
     
    这些都没有问题,确认过了,谢谢!
    但是还是不能进入中断。
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-2-18 15:00:32 | 显示全部楼层

    回复:KL46 Port中断配置方法

    刚使用CodeWarrior10.5软件的PE生成了一个PTA5作为外部中断的程序,该功能是能够正常实现的。
    请问楼主的编译环境是CodeWarrior还是IAR或是Keil MDK?
    以便我在飞思卡尔KL46_SC例程包内已有程序上增加你需要的功能测试一下。
     
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    103

    帖子

    0

    新手上路

    Rank: 1

    积分
    173
    最后登录
    1970-1-1
     楼主| 发表于 2014-2-18 15:05:47 | 显示全部楼层

    RE:KL46 Port中断配置方法

    我现在使用的是IAR。
    非常感谢,在线等待!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    0

    新手上路

    Rank: 1

    积分
    0
    最后登录
    1970-1-1
    发表于 2014-2-18 17:38:40 | 显示全部楼层

    回复:KL46 Port中断配置方法

     最近在搞个嵌入式系统用KL26做,感觉应该和KL46差不多吧,很郁闷的是没啥demo代码。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-2-19 09:01:27 | 显示全部楼层

    回复:KL46 Port中断配置方法

    回复第 8 楼 于2014-02-18 17:38:40发表:
     最近在搞个嵌入式系统用KL26做,感觉应该和KL46差不多吧,很郁闷的是没啥demo代码。。。
     

    飞思卡尔官网有提供KL26的例程包FRDM-KL26Z_SC,你可以通过官网主页进入[url=https://www.freescale.co
    m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&fpsp=1&tab=Design_Tools_Tab]FRDM-KL26Z[/url]相关页面下载。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-2-19 11:16:34 | 显示全部楼层

    回复:KL46 Port中断配置方法

    楼主直接下载附件中kinetis_kl46_sc_rev2_ExIntPTA5(IAR环境)和PTA5 interrupt KL46(CW+PE环境)例程代码运行一下看是否能够正常进入中断。
    这两个例程均使用PTC8引脚输出方波给PTA5作信号源。
    每当程序进入PTA5中断,FRDM-KL46开发板上的LED灯将翻转其输出状态。

    kinetis_kl46_sc_rev2_ExIntPTA5.zip

    530.94 KB, 下载次数: 27

    PTA5 interrupt KL46.zip

    197.62 KB, 下载次数: 23

    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12

    主题

    103

    帖子

    0

    新手上路

    Rank: 1

    积分
    173
    最后登录
    1970-1-1
     楼主| 发表于 2014-2-19 15:56:46 | 显示全部楼层

    回复:KL46 Port中断配置方法

    回复第 11 楼 于2014-02-19 11:16:34发表:
    楼主直接下载附件中kinetis_kl46_sc_rev2_ExIntPTA5(IAR环境)和PTA5 interrupt KL46(CW+PE环境)例程代码运行一下看是否能够正常进入中断。
    这两个例程均使用PTC8引脚输出方波给PTA5作信号源。
    每当程序进入PTA5中断,FRDM-KL46开发板上的LED灯将翻转其输出状态。
     
    谢谢你,问题已经解决,是我代码的问题。把 “|=” 写成了“ =” ,然后一直没有发现。
     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-18 21:42 , Processed in 0.105951 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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