TI中文支持网
TI专业的中文技术问题搜集分享网站

求助:关于 MSP432P401Y GPIO 中断的问题

外部电路中断信号通过 GPIO 接入 MSP432P401Y,按例子程序做了如下配置:

 GPIO_setConfig(BRD_GPIO_MPA, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING);

GPIO_setCallback(BRD_GPIO_MPA, IsrMPA);

GPIO_enableInt(BRD_GPIO_MPA);

调试过程中始终无法进入中断回调函数 IsrMPA,示波器可以测量到硬件信号下降沿。

BRD_GPIO_MPA 对应 P4.7,观察 MCU 内部寄存器:

P4DIR = 0x7F;  P4REN = 0x80;  P4OUT=0xBB  // 说明 P4.7 配置为输入带上拉电阻

P4IE = 0x80   //说明 P4.7 中断使能

P4IES = 0xFE  //说明 P4.7 是下降沿触发中断

文档还提到:

When the device operates in any power mode other than low-power modes LPM3, LPM4,
and LPMx.5, the interrupt capability is available only when the PxSEL1 and PxSEL0 bits are
0 for the corresponding interrupt capable I/Os.

所以,在 Power_init 使用的 PowerMSP432_config 中设置 .enablePolicy = false, 使得 MCU 一直保持在 Active 状态。

同时也确认了 P4SEL0 = 0 和 P4SEL1 = 0

 但是外部信号的下降沿出现后,P4IFG一直等于 0x40,即 P4.7 没有触发中断,不知是什么缘故?请熟悉 MSP432P401Y 的高手解答一下,衷心感谢!

Susan Yang:

回复 linzhuang jia:

谢谢您的分享!

gaoyang9992006:

回复 linzhuang jia:

多谢分享,这是一个非常宝贵的经验。

xyz549040622:

回复 linzhuang jia:

学习了,谢谢分享这个经验,意思是不用TI-RTOS的时候就没有这个问题吗?

linzhuang jia:

回复 xyz549040622:

不用 TI-RTOS 的话,就不存在驱动层中的 gpioPinConfigs表,根据经验分析应该不会出现这种问题,不过我没有验证过,因为现在在MSP432上开发产品,如果不用simplelink_msp432p4_sdk ,开发效率会非常低,可能需要好几倍的开发时间,估计很少有人会这么做。

赞(0)
未经允许不得转载:TI中文支持网 » 求助:关于 MSP432P401Y GPIO 中断的问题
分享到: 更多 (0)