打印
[技术问答]

请问HC32L136无法进入 外部中断 的问题

[复制链接]
1837|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiangjiayu|  楼主 | 2020-12-5 12:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiangjiayu 于 2020-12-9 18:50 编辑
///< PortX中断服务函数
void PortD_IRQHandler(void)
{
    if( M0P_GPIO->PD_STAT_f.PD04 == 1)
    {                    
        M0P_GPIO->PDOUT_f.PD05 = ~M0P_GPIO->PDOUT_f.PD05;//< LED 取反
        
        M0P_GPIO->PD_ICLR_f.PD04 = 0;
    }
}  

void App_UserKeyInit(void)   //配置 PD4 下降沿中断
{   
    ///< 打开GPIO外设时钟门控
    Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
   
//    M0P_GPIO->PD04_SEL = 0;
//    M0P_GPIO->PDADS_f.PD04 = 0;
//    M0P_GPIO->PD04_SEL = 0;   
    M0P_GPIO->PDDIR_f.PD04 = 1;     //输入
    M0P_GPIO->PDPU_f.PD04 = 1;      //上拉
   
    M0P_GPIO->PDFIE_f.PD04 = 1;     //下降沿中断
//    M0P_GPIO->CTRL2_f.AHB_SEL = GpioAHB;
   
    EnableNvic(PORTD_IRQn, IrqLevel2, TRUE);
}
代码如上所示

PD5为LED正常输出,且能控制LED的亮灭

PD4为外部按键中断,下降沿触发,死活进不了中断。。。。MCU无睡眠,用的是\HC32L13x_SDK\hc32l13x_ddl_Rev1.9.2 Lite\example\gpio\gpio_interrupt  例程修改

把外部中断改为PA4就可以进入

请教下代码有不对的地方吗?

硬件确认没问题,开发板为 : HC32LF136x3x-STK-V2.0

下面为main函数
int32_t main(void)
{
    App_UserKeyInit();   
    App_LedInit();      
    while(1)
    {
        ;
    }
}



问题已解决:   上面的外部中断初始化代码没问题,LED灯的控制脚初始化有问题

使用特权

评论回复
沙发
sylibo| | 2020-12-8 09:18 | 只看该作者
有提问,有结果回馈,非常赞

使用特权

评论回复
板凳
xuanhuanzi| | 2020-12-20 22:39 | 只看该作者
经验不错。

使用特权

评论回复
地板
jcky001| | 2020-12-22 11:14 | 只看该作者

有提问,有结果回馈,非常赞

使用特权

评论回复
5
mintspring| | 2020-12-22 14:09 | 只看该作者
问题解决的不错

使用特权

评论回复
6
jiekou001| | 2020-12-22 14:10 | 只看该作者
这是坐项目呢,还是学习呢

使用特权

评论回复
评论
jiangjiayu 2020-12-22 17:45 回复TA
反正代码都一样 
7
名字是啥样| | 2020-12-23 11:02 | 只看该作者
这种经验真的不错,感谢分享。

使用特权

评论回复
8
木木guainv| | 2021-1-12 14:46 | 只看该作者
哈哈 是的io口的初始化也非常重要

使用特权

评论回复
9
paotangsan| | 2021-1-12 15:09 | 只看该作者
整个工程还有别的功能吗

使用特权

评论回复
10
jiangjiayu|  楼主 | 2021-1-12 19:08 | 只看该作者
paotangsan 发表于 2021-1-12 15:09
整个工程还有别的功能吗

没有了,就1和IO口外部中断

初始化LED灯时,把外部中断的IO口也初始化为输出了

使用特权

评论回复
11
杨寅辉| | 2021-1-15 10:15 | 只看该作者
jiangjiayu 发表于 2021-1-12 19:08
没有了,就1和IO口外部中断

初始化LED灯时,把外部中断的IO口也初始化为输出了 ...

应该是用到什么,就初始化那个啊,怎么能够全部初始化了呢,外部中断应该配置为输入的吧

使用特权

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

本版积分规则

14

主题

84

帖子

1

粉丝