牛卧堂MCU技术交流
标题:
求助,为什么设置的外部中断上升沿触发,但是有时候xia'j...
[打印本页]
作者:
匿名
时间:
2024-3-15 09:48
标题:
求助,为什么设置的外部中断上升沿触发,但是有时候xia'j...
void EINT_INIT(void)
{
P2_MFP = (P2_MFP & (~(P20|P21|P22))) | GP234_INT;
// IPRSTC2 |= GPIO_RST;
// IPRSTC2 &= ~GPIO_RST;
P2_PMD = (P2_PMD & (~(Px0_PMD|Px1_PMD|Px2_PMD))) |Px0_IN|Px1_IN|Px2_IN;
//P2_PMD = (P2_PMD & (~(Px0_PMD|Px1_PMD|Px2_PMD))) |Px0_OUT|Px1_OUT|Px2_OUT;
DBNCECON &= ~ICLK_ON;
DBNCECON &= DBCLK_HCLK;
DBNCECON |= SMP_1024CK;
P2_DBEN |= DBEN0|DBEN1|DBEN2;
P2_IMD &= (IMD0_EDG|IMD1_EDG|IMD2_EDG);
// P2_IMD = 0;
P2_IEN |= IR_EN0|IR_EN1|IR_EN2;
NVIC_ISER = GP234_INT;
}
复制代码
微信图片_20240315094735.png
(116.6 KB, 下载次数: 185)
下载附件
2024-3-15 09:47 上传
作者:
匿名
时间:
2024-3-15 09:57
void GPIOP2P3P4_IRQHandler(void)
{
if(P2_ISRC & 0x01)
{
P2_ISRC |= 0X01;
TimerZeroU = 0;
}
if(P2_ISRC & 0x02)
{
P2_ISRC |= 0X02;
TimerZeroV = 0;
P_Test = ~P_Test;
}
if(P2_ISRC & 0x04)
{
P2_ISRC |= 0X04;
TimerZeroW = 0;
}
}
复制代码
这个是中断设置,蓝色的波形是我测试的翻转脚,设置的上升沿触发但是有时候下降沿会触发
作者:
chrishu
时间:
2024-3-15 15:11
看不出来你代码里的宏定义都是什么意思?所以不太懂你的代码具体写了什么?你可以拿bsp下的GPIO_EINTAndDebounce例程测试
欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/)
Powered by Discuz! X3.2