打印
[Kinetis]

KL05 设置成下降沿中断但是上升沿也能触发中断!

[复制链接]
2141|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keeryq|  楼主 | 2015-5-21 22:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这是我的初始化设置,请问为什么我设置成下降沿中断在上升沿的时候还是可以进中断的?请帮我看看这段代码哪儿有问题
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;  //开启PORTB时钟
   // PC_PCR = PCR_INPUT_CONFIG;
    GPIOA_PDDR &= ~(1<<7);
    PORTA_PCR7 |=  (PORT_PCR_PS_MASK |   //上拉
        PORT_PCR_PE_MASK |              //上下拉使能
        PORT_PCR_PFE_MASK |             //无源滤波使能
        PORT_PCR_IRQC(10) |             //下降沿产生中断
        PORT_PCR_MUX(1));                //GPIO
    enable_irq(30);

相关帖子

沙发
keeryq|  楼主 | 2015-5-22 00:18 | 只看该作者
这是我的中断服务函数,我用的FRDM_KL05的板子 发现一会儿进一次中断,标志位也没有被清零。这是怎么回事呢?
void PORTA_ISR(void)
{
    if(PORTA_ISFR == 0x80)
    {
        PORTA_PCR7 |= PORT_PCR_ISF_MASK;
        PORTA_ISFR = 0;
        if(TSIFlag.bit.LED_ON_Flag ==1) TPM0_CNT = 0;
    }
}

使用特权

评论回复
板凳
keeryq|  楼主 | 2015-5-22 09:18 | 只看该作者
为什么我用手触碰这个IO口都能触发中断。
我用AC220V转3V电源给这个芯片供电,同时检测过零点,有示波器接入该点的时候中断触发正常,当无示波器时候中断触发不正常,请问怎么解决呢?

使用特权

评论回复
地板
奥德赛| | 2015-5-22 09:20 | 只看该作者
我觉得楼主你先看看你的信号上升沿是否正常
然后再看看设置的对不对

使用特权

评论回复
5
FSL_TICS_Jeremy| | 2015-5-22 09:24 | 只看该作者
我想确认一下你的设置下降沿触发,上升沿也能触发中断是怎么得出的,还有请问你是外接了一个按键到PTA7吗?

使用特权

评论回复
6
keeryq|  楼主 | 2015-5-22 09:37 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-5-22 09:24
我想确认一下你的设置下降沿触发,上升沿也能触发中断是怎么得出的,还有请问你是外接了一个按键到PTA7吗? ...

是的 无论是按键引脚接高电平还是接低电平,当按下的时候和抬起的时候都能触发中断

使用特权

评论回复
7
keeryq|  楼主 | 2015-5-22 09:43 | 只看该作者
奥德赛 发表于 2015-5-22 09:20
我觉得楼主你先看看你的信号上升沿是否正常
然后再看看设置的对不对

IO口的设置就是我上面那个设置,上升沿是否正常我用示波器测量是正常的C:\Users\con_0\Pictures\Camera Roll\无标题.png

无标题.png (3.29 KB )

无标题.png

使用特权

评论回复
8
FSL_TICS_Jeremy| | 2015-5-22 10:14 | 只看该作者
这个波形是有下降沿的,所以我想确认一下你是怎么判断上升沿触发了中断?

使用特权

评论回复
9
keeryq|  楼主 | 2015-5-22 10:43 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-5-22 10:14
这个波形是有下降沿的,所以我想确认一下你是怎么判断上升沿触发了中断? ...

我按键接高电平按下的时候进入了中断,当我抬起的时候又进入了中断。所以我觉得应该是都进入了中断。

使用特权

评论回复
10
keeryq|  楼主 | 2015-5-22 14:30 | 只看该作者
请问大侠 有人试过吗?为什么用手指触碰一下就能触发中断,能不能灵敏度不要这么高?

使用特权

评论回复
11
FSL_TICS_Jeremy| | 2015-5-22 15:37 | 只看该作者
keeryq 发表于 2015-5-22 14:30
请问大侠 有人试过吗?为什么用手指触碰一下就能触发中断,能不能灵敏度不要这么高? ...

建议在原来的GPIO初始化的代码之前加上一段,使得GPIO输出高电平,
至于手轻触一下按键就引发中断,我建议你最好使用示波器看一下该引脚上的波形

使用特权

评论回复
12
keeryq|  楼主 | 2015-5-22 23:41 | 只看该作者
FSL_TICS_Jeremy 发表于 2015-5-22 15:37
建议在原来的GPIO初始化的代码之前加上一段,使得GPIO输出高电平,
至于手轻触一下按键就引发中断,我建 ...

把射波器的地接上后就不会出现这样的问题了,所以示波器看不到的

使用特权

评论回复
13
FSL_TICS_Jeremy| | 2015-5-25 09:42 | 只看该作者
keeryq 发表于 2015-5-22 23:41
把射波器的地接上后就不会出现这样的问题了,所以示波器看不到的

有可能是板子硬件设计有问题,如果你公司有手持式的示波器的话,你可以再试试,它的供电来自电池,就不会像一般示波器一样,对板子有干扰啊!

使用特权

评论回复
14
奥德赛| | 2015-5-25 10:56 | 只看该作者
keeryq 发表于 2015-5-22 09:43
IO口的设置就是我上面那个设置,上升沿是否正常我用示波器测量是正常的

你用示波器监测,锁屏
调试的时候用单步调试
这样试试如何

使用特权

评论回复
15
FSL_TICS_Jeremy| | 2015-6-4 09:08 | 只看该作者
   非常感谢你关于Kinetis的技术问题。如果你没有其他问题,我们将此帖默认为已解决.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

35

帖子

0

粉丝