查看: 9393|回复: 7

[原创] mke06z kbi 配置下降沿,上升沿也会中断

[复制链接]

该用户从未签到

1

主题

1

帖子

0

新手上路

Rank: 1

积分
17
最后登录
2019-5-24
发表于 2018-8-21 19:40:22 | 显示全部楼层 |阅读模式
我在使用该芯片进行Debug,遇到一些问题:
1、我只使用KBI的一个引脚中断,并且设置为只检测下降沿,但是奇怪的是;上升沿也被检测并产生中断。
2、如果发生了中断,在SC和SP中的标志位都清零的情况下,还会进入中断,只不过SC和SP寄存器中的标志位并没有置位

mke06z kbi test.rar

8.14 MB, 下载次数: 17, 下载积分: 威望 1

回复

使用道具 举报

  • TA的每日心情

    2024-5-28 13:38
  • 签到天数: 346 天

    连续签到: 1 天

    [LV.8]以坛为家I

    7

    主题

    623

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    1565
    最后登录
    2025-8-29
    发表于 2018-8-22 09:24:41 | 显示全部楼层
    没有过这个,帮顶,不过你可以检测一下,信号源上升沿是否只有上升沿,有不有可能包含了下降沿
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    昨天 10:56
  • 签到天数: 2410 天

    连续签到: 7 天

    [LV.Master]伴坛终老

    56

    主题

    5314

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    26010
    最后登录
    2025-8-30
    发表于 2018-8-22 10:13:44 | 显示全部楼层
    本帖最后由 Angel_YY 于 2018-8-22 10:14 编辑

    KE06在KDS3.0中测试过KBI,当时测试代码如下,可以正常检测上升沿和下降沿,仅供参考。
    1. void KBI0_Isr(void){
    2.     //Cpu_SystemReset();
    3.         ulSP=KBI0_BASE_PTR->SP; //获取中断源标记寄存器
    4.         ulSP=ulSP ^ KBI_SP_SP_MASK;  //进行掩码
    5.         if(ulSP==0x800000){  //确定是哪一个管脚产生的中断
    6.                 ucHC164Buff=0x80;
    7.                 SentByteData(ucHC164Buff);//设置LED
    8.                 Beep_SetVal();
    9.                 DelayMs(100);      //延时
    10.                 ucHC164Buff=0x3F;
    11.                 SentByteData(ucHC164Buff);  //重新设置LED
    12.                 Beep_ClrVal();
    13.                 KBI0_ES=0x00800000;  //设置按键为上升沿触发
    14.         }
    15.         else{
    16.                 //ucHC164Buff=0x80;
    17.                 //SentByteData(ucHC164Buff);
    18.                 Beep_SetVal();
    19.                 DelayMs(100);
    20.                 //ucHC164Buff=0x3F;
    21.                 //SentByteData(ucHC164Buff);
    22.                 Beep_ClrVal();
    23.                 KBI0_ES=0x00;   //设置所有按键为下降沿触发
    24.         }
    25.         KBI_PDD_ClearInterrupt(KBI0_DEVICE);
    26. }
    复制代码

    评分

    参与人数 1 +2 收起 理由
    doatello + 2

    查看全部评分

    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6030
    最后登录
    2025-8-21
    发表于 2018-8-22 11:02:24 | 显示全部楼层
    由于我使用的FRDM-KE06Z开发板没法将板载按键接入KBI0_P10引脚(PTB2),故使用PTI4引脚输出下降沿并接入PTB2供其计数。KBI0中断进入次数与自定义的PTI4下降沿次数一致,并未发现你提到的上升沿也额外计入的情况(如果上升沿也进中断,进入中断次数应该超过自定义的下降沿次数)
    PTI4 output falling edge.png
    KBI0_P10 count falling edge.png
    程序是在你给我那个基础上改的,由于使用IO口模拟故上升沿、下降沿波形应该很稳定(不像实际按键会有毛刺抖动)
    mke06z kbi test PTI4 output falling edge.zip (9.45 MB, 下载次数: 32)
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    110

    主题

    3427

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    9076
    最后登录
    2025-8-28
    发表于 2018-8-23 09:09:34 | 显示全部楼层
    屏蔽掉无用程序,只留引脚中断试试,有可能程序中有其他信号的混入。

    评分

    参与人数 1 +1 收起 理由
    doatello + 1

    查看全部评分

    加油哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2023-6-6 14:07
  • 签到天数: 190 天

    连续签到: 1 天

    [LV.7]常住居民III

    5

    主题

    1273

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    3449
    最后登录
    2023-11-8
    发表于 2018-8-23 10:30:01 | 显示全部楼层
    • 每个键盘中断引脚可编程为:
    • 仅下降沿触发
    • 仅上升沿触发
    • 上升沿和低电平都触发
    • 上升沿和高电平都触发
    很大可能是配置本身错了,但配置本身是没有两个边沿都触发的这种配置
    debug是可以看寄存器的

    评分

    参与人数 1 +1 收起 理由
    doatello + 1

    查看全部评分

    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-11-15 10:33
  • 签到天数: 79 天

    连续签到: 1 天

    [LV.6]常住居民II

    89

    主题

    2169

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    1779
    最后登录
    2020-8-22
    发表于 2018-8-26 18:11:39 | 显示全部楼层
    可能是配置问题
    签到
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13

    主题

    37

    帖子

    1

    中级会员

    Rank: 3Rank: 3

    积分
    220
    最后登录
    2021-7-16
    发表于 2018-8-30 16:18:26 | 显示全部楼层
    按键毛刺的原因 我也遇到过 你用示波器看看 把时间轴调到uS级且触发
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-8-31 05:34 , Processed in 0.108695 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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