Firefly开源社区

标题: GPIO口P30、P31、P23、P24无法触发中断? [打印本页]

作者: Asia003    时间: 2015-8-31 21:20
标题: GPIO口P30、P31、P23、P24无法触发中断?
本帖最后由 Asia003 于 2015-8-31 21:48 编辑

基于wiki下载的源代码例程中,按键广播判断GPIO口P12中断,在Firefly开发板上改为BUTTON1_PIN GPIO口P30、P31、P23、P24时就无法触发中断?为啥改成P17,P00,P03,P11,P12就可以触发中断.

QQ图片20150831212613.png (12.34 KB, 下载次数: 496)

QQ图片20150831212613.png

作者: 安安    时间: 2015-9-1 09:45
数据手册第12页上有说明,只有P00~P07,P10~P17组IO口可以唤醒MCU。


作者: Asia003    时间: 2015-9-1 11:02
安安 发表于 2015-9-1 09:45
数据手册第12页上有说明,只有P00~P07,P10~P17组IO口可以唤醒MCU。

不是唤醒,是在MCU已经唤醒状态下,触发中断。
作者: 安安    时间: 2015-9-1 15:39
中断是可以的,测试可用 的,大概是有什么地方没有配置好吧。不放贴一下详细流程分析一下?

作者: Asia003    时间: 2015-9-2 08:02
本帖最后由 Asia003 于 2015-9-2 08:19 编辑
安安 发表于 2015-9-1 15:39
中断是可以的,测试可用 的,大概是有什么地方没有配置好吧。不放贴一下详细流程分析一下?

就是在你们的例程上改的啊!电池电量服务那个例程,如上图,已经关掉了五向按键的宏定义,改了宏定义引脚,GPIO_23就不行了!改成P17,P00,P03,P11,P12就可以触发中断,能把你的调试的例程发我邮箱吗?188437978@qq.com
作者: 安安    时间: 2015-9-2 09:26
本帖最后由 安安 于 2015-9-2 09:28 编辑
Asia003 发表于 2015-9-2 08:02
就是在你们的例程上改的啊!电池电量服务那个例程,如上图,已经关掉了五向按键的宏定义,改了宏定义引脚 ...

按照描述,P0和P1能够中断,就是P2P3不行,并且P23是作为开启广播的button操作,必须是因为MCU进入了深度睡眠才会引起的。因为广播前MCU是进入深度睡眠的。你不妨先把你中断设置的代码贴上来看一看。
作者: Asia003    时间: 2015-9-2 09:59
问题找到了,加上这句话就可以了P30口
  1.         //gpio_set_interrupt(BUTTON1_PIN, GPIO_INT_FALLING_EDGE);
复制代码

作者: 安安    时间: 2015-9-2 10:03
Asia003 发表于 2015-9-2 09:59
问题找到了,加上这句话就可以了P30口

:handshake




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1