首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LPC 1837中GPIO PIN中断的问题

LPC 1837中GPIO PIN中断的问题
EN

Stack Overflow用户
提问于 2016-09-26 04:39:58
回答 2查看 236关注 0票数 0

我正在使用以下代码,主要的主题是在lpc 1837中生成一个引脚中断,我在获得中断时遇到了麻烦,有人给出了这个代码编译器出了什么问题的建议:

代码语言:javascript
复制
/* Configure pin as digital input using GPIO in pin multiplexing */

GPIO_SetDir(6,0,GPIO_DIR_INPUT);
GPIO_SetDir(6,2,GPIO_DIR_INPUT); 

SCU_PinConfigure(0xC,1,( SCU_CFG_MODE_FUNC4 | SCU_SFS_EPUN | SCU_SFS_ZIF ));
SCU_PinConfigure(0xC,3,( SCU_CFG_MODE_FUNC4 | SCU_SFS_EPUN | SCU_SFS_ZIF )); 


/* enable edge interrupt */ 


LPC_GPIO_PIN_INT->ISEL = 0x00UL; 

/* enable rising edge interrupt */

LPC_GPIO_PIN_INT->IENR = (GPIO_PIN_INT_IENR_ENRL0_Msk |
                          GPIO_PIN_INT_IENR_ENRL1_Msk );

LPC_GPIO_PIN_INT->SIENR = (GPIO_PIN_INT_SIENR_SETENRL0_Msk |
                           GPIO_PIN_INT_SIENR_SETENRL1_Msk );   

/* enable falling edge interrupt */

LPC_GPIO_PIN_INT->IENF = (GPIO_PIN_INT_IENF_ENAF0_Msk |
                          GPIO_PIN_INT_IENF_ENAF0_Msk);

LPC_GPIO_PIN_INT->SIENF = (GPIO_PIN_INT_SIENF_SETENAF0_Msk |
                           GPIO_PIN_INT_SIENF_SETENAF1_Msk );

/* Clear pending interrupt of pin interrupt 1*/

NVIC->ICPR[(((uint32_t)(int32_t)(0x21)) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)(0x21)) & 0x1FUL));

/* set priority for pin interrupt 1 */


NVIC_SetPriority(0x21, 1);  

/* enable pin interrupt */


NVIC->ISER[(((uint32_t)(int32_t)(0x21)) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)(int32_t)(0x21)) & 0x1FUL));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-26 14:55:08

在所有这些混乱之后,有一个输入缓冲区SCU_PinConfigure(0xC,1,( SCU_CFG_MODE_FUNC4、SCU_SFS_EPUN、SCU_SFS_ZIF、SCU_SFS_ZIF、SCU_SFS_EZI );

有一个位用于启用输入缓冲区。启用此位后,将启用输入读和中断。感谢您的回复,希望这个答案有助于解决Gpio输入读取和中断的问题。

票数 1
EN

Stack Overflow用户

发布于 2016-09-26 10:51:08

我想我几个月前也有同样的问题。我在输入中断模式下设置了GPIO,但是我无法设置ISR.我建议您通过以下步骤检查代码:

  1. 检查中断源信号。确保它起作用。
  2. 打印重要变量并注册以观察其是否正确。

如果两个步骤都正确,则证明GPIO处于输入-中断模式.如果它拿不到ISR,就找出它的去向。硬件中断过程中必然会出现一些问题。该过程是用汇编语言编写的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39694842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档