打印
[方案相关]

HC32F460的PH2端口配置成外部中断后,不断进入回调函数

[复制链接]
1846|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
leison2002|  楼主 | 2021-11-29 20:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
void PortH_Init()
{
        stc_exint_config_t stcExtiConfig;
        stc_irq_regi_conf_t stcIrqRegiConf;
        stc_port_init_t stcPortInit;
        /* configuration structure initialization */
        MEM_ZERO_STRUCT(stcExtiConfig);
        MEM_ZERO_STRUCT(stcIrqRegiConf);
        MEM_ZERO_STRUCT(stcPortInit);
        /**************************************************************************/
        /* External Int Ch.2                                                    */
        /**************************************************************************/
        stcExtiConfig.enExitCh = ExtiCh02;     
        /* Filter setting */
        stcExtiConfig.enFilterEn = Enable;
        stcExtiConfig.enFltClk = Pclk3Div64;
        stcExtiConfig.enExtiLvl = ExIntBothEdge;
        EXINT_Init(&stcExtiConfig);
        /* Set External Int */
        MEM_ZERO_STRUCT(stcPortInit);
        stcPortInit.enPullUp = Enable;
        stcPortInit.enExInt = Enable;
        PORT_Init(PortH,Pin02, &stcPortInit);   
        /* Select External Int Ch.2 */
        stcIrqRegiConf.enIntSrc = INT_PORT_EIRQ2;   
        /* Register External Int to Vect.No.000 */
        stcIrqRegiConf.enIRQn = Int015_IRQn;                                                
        /* Callback function */
        stcIrqRegiConf.pfnCallback = &PORTH_PIN2_Callback;  
        /* Registration IRQ */
        enIrqRegistration(&stcIrqRegiConf);
        /* Clear pending */
        NVIC_ClearPendingIRQ(stcIrqRegiConf.enIRQn);
        /* Set priority */
        NVIC_SetPriority(stcIrqRegiConf.enIRQn, DDL_IRQ_PRIORITY_DEFAULT);
        /* Enable NVIC */
        NVIC_EnableIRQ(stcIrqRegiConf.enIRQn);
}

void PORTH_PIN2_Callback()
{
        if (Set == EXINT_Irq**Get(ExtiCh02))
         {
                EXINT_Irq**Clr(ExtiCh02);        
         }
}

中断号没有被其他中断用到,这样配置后,在电平没有变化的情况下,一直进入回调函数,不知为什么?

使用特权

评论回复
沙发
wubangmi| | 2021-11-30 10:45 | 只看该作者
你好像初始化的时候只设置了上拉和外部中断使能,没有设置IO口为输入模式,不知道是不是这个影响的

使用特权

评论回复
板凳
martinhu| | 2021-11-30 14:41 | 只看该作者
你确定PH2的电平没有变化吗?最好用示波器看一下,用双边沿触发模式。

使用特权

评论回复
地板
xiaos200800| | 2021-11-30 16:04 | 只看该作者
你试着修改下中断优先级。我之前也遇到过,修改中断优先级就会解决。有可能是这个问题,
欢迎大家加入Q群280250936,一起探讨华大开发技术问题。

使用特权

评论回复
5
leison2002|  楼主 | 2022-1-1 21:57 | 只看该作者
是他的中断号与其他中断重复了

使用特权

评论回复
6
cyclefly| | 2022-1-7 14:15 | 只看该作者
原来是中断号重复了,这种没有报错吧,不好查

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

14

帖子

1

粉丝