野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7312|回复: 0

GPIO中断,如何区分是哪个pin触发的中断?

[复制链接]
发表于 2020-2-2 12:51:17 | 显示全部楼层 |阅读模式
根据《i.MX RT库开发实战指南》的描述,GPIO中16个pin共用一个中断号。例程《14-GPIO输入—按键中断检测》的中断函数中,直接清除指定pin的中断。
如果多个pin都用这个中断函数,发生中断后,该如何判定是哪个pin呢?
我做了一下试验:
我用两个标志来记录原例程中两个pin脚中断的状态。两个中断函数中都增加了相同的代码。
1.jpg
我定义了两个字符串常量
2.jpg
修改main函数,在原例程上报中断状态的同时,上报我的标志。
3.jpg
测试结果如下:
4.png
我反复按MODE键,按理说,应该每次都上报MODE为OK,但有时上报OK,有时上报NO。
测试WAKEUP键,也一样。无明确规律。
代码已经很简单了。网上也没查到通过使用GPIO_PortGetInterruptFlags或者GPIO_GetPinsInterruptFlags区分中断源的案例。
因此,在此请教,谢谢!
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 08:34 , Processed in 0.030263 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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