楼主: JackieLaura

[已解决] 【FRDM-K64F】PTA4按键中断不进入NMI中断(MDK5.14寄存器)已解决

[复制链接]
  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 12:50:19 | 显示全部楼层
    小七 发表于 2015-12-14 17:09
    楼主的问题解决了么?

    刚看到好几条回复,再看看能不能帮忙解决。。
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 12:57:38 | 显示全部楼层
    七七bb 发表于 2015-12-14 17:29
    你在外面有上拉电阻吗?设置一个内部上拉试试看

    从电路图上面看都有外部上拉,如下图
    SW.png

    可是我查看硬件,R1、C55都是空的,那说明只有SW3(PTA4)有上拉,SW2(PTC6)无上拉。。

    谢谢提醒,我再看看
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:00:11 | 显示全部楼层
    Hot_Dream 发表于 2015-12-14 18:25
    如果想禁用NMI,需更改FOPT寄存器的NMI_DIS域,以关键词“NMI_DIS”搜索参考手册。修改方法一般是通过KEIL  ...

    FOPT是不能写的。。。。我看过手册
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:04:31 | 显示全部楼层
    chifen 发表于 2015-12-14 19:27
    板子上的SW3你不要先按,你没有定义这个脚,按了会进入一个异常处理中断了 ...

    不按SW3的情况下,红灯是1Hz闪烁灯,再按SW3,一亮一灭蓝灯。不过红灯点亮的时候,蓝灯和红灯都显示会变成其他颜色。

    会进入异常处理中断?什么异常中断?能分享出来共同分析吗?
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:05:40 | 显示全部楼层
    wambob 发表于 2015-12-14 22:33
    楼主对&和|用的还不到位.换成上面两个语句后,不再进入NMI了
    看楼主的意思是按下SW3,下降沿产生中断,蓝灯 ...

    谢谢提醒,是应该先清位后置位。。。我试试看
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-7-11 19:28
  • 签到天数: 141 天

    连续签到: 1 天

    [LV.7]常住居民III

    34

    主题

    1067

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2492
    最后登录
    2020-9-16
    发表于 2015-12-15 13:15:45 | 显示全部楼层

    11.png
    正常调试
    你应该是按一个键 有一个灯值 取反
    这个应该很正常的

    如果 按SW3 会到下面的地方去
    22.png
    可能是没有定义输入IO状态的原因
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:31:36 | 显示全部楼层
    chifen 发表于 2015-12-15 13:15
    正常调试
    你应该是按一个键 有一个灯值 取反
    这个应该很正常的

    你貌似没有理解我程序的意思。。。。。我是放了两段不同的按键初始化程序。。。供大家参考。
    我就是要找到PTA按键不默认进行NMI中断的办法

    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:32:37 | 显示全部楼层
    wambob 发表于 2015-12-14 22:33
    楼主对&和|用的还不到位.换成上面两个语句后,不再进入NMI了
    看楼主的意思是按下SW3,下降沿产生中断,蓝灯 ...

    谢谢提醒,好像已经解决了。。。。
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:33:53 | 显示全部楼层
    小七 发表于 2015-12-14 17:09
    楼主的问题解决了么?

    感谢wambob网友,问题已经解决了。。。。。
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
     楼主| 发表于 2015-12-15 13:46:34 | 显示全部楼层
    感谢wambob网友,谢谢你的提醒。先清位再置位
    感谢七七bb网友,谢谢你的提醒。注意硬件电路部分

    查看硬件后,发现R1、C55都是空的,那说明只有SW3(PTA4)有上拉,SW2(PTC6)无上拉。。
    原理图如下:
    SW.png

    更新后程序如下:
    PTA作为按键中断
    1. int
    2.         key_init(void)
    3. {
    4.         SIM->SCGC5 |= 0x0200;
    5.        
    6.         PORTA->PCR[4] &= ~(0x7 << 8 | 0xf << 16);
    7.         PORTA->PCR[4] |= 0x000a0100;
    8.        
    9.         PTA->PDDR &= ~(1 << 4);               

    10.         NVIC_EnableIRQ(PORTA_IRQn);
    11.        
    12.         return 0;
    13. }

    14. void
    15.         PORTA_IRQHandler(void)
    16. {
    17.         if(PORTA->PCR[4] & (1 << 24))
    18.         {
    19.                 PORTA->ISFR |= 1 << 4;
    20.                 PTB->PTOR |= 1 << 21;
    21.         }
    22. }
    复制代码


    PTC作为按键中断
    1. int
    2.         key_init(void)
    3. {
    4.         SIM->SCGC5 |= 0x0800;

    5.         PORTC->PCR[6] &= ~(1 << 0 | 1 << 1 | 0x7 << 8 | 0xf << 16);
    6.         PORTC->PCR[6] |= 0x000a0103;
    7.        
    8.         PTC->PDDR &= ~(1 << 6);               

    9.         NVIC_EnableIRQ(PORTC_IRQn);
    10.        
    11.         return 0;
    12. }

    13. void
    14.         PORTC_IRQHandler(void)
    15. {
    16.         if(PORTC->PCR[6] & (1 << 24))
    17.         {
    18.                 PORTC->ISFR |= 1 << 6;
    19.                 PTB->PTOR |= 1 << 21;
    20.         }
    21. }
    复制代码


    工程源码更新如下:
    key_interrupt.rar (124.31 KB, 下载次数: 2)
    nxpic.org.png
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-24 08:12 , Processed in 0.107123 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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