这是我的初始化设置,我用手指触碰一下PA7就能进入IO口中断,放到我的工作板子上发现一直进入中断,请帮我看看这段代码哪儿有问题
SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK; //开启PORTB时钟
// PC_PCR = PCR_INPUT_CONFIG;
GPIOA_PDDR &= ~(1<<7);
PORTA_PCR7 |= (PORT_PCR_PS_MASK | //上拉
PORT_PCR_PE_MASK | //上下拉使能
PORT_PCR_PFE_MASK | //无源滤波使能
PORT_PCR_IRQC(10) | //下降沿产生中断
PORT_PCR_MUX(1)); //GPIO
enable_irq(30);
这是我的中断服务函数, 发现一会儿进一次中断,标志位也没有被清零。这是怎么回事呢?
void PORTA_ISR(void)
{
if(PORTA_ISFR == 0x80)
{
PORTA_PCR7 |= PORT_PCR_ISF_MASK;
PORTA_ISFR = 0;
if(TSIFlag.bit.LED_ON_Flag ==1) TPM0_CNT = 0;
}
} |