[技术问答] 请问HC32L136无法进入 外部中断 的问题

[复制链接]
2265|11
 楼主| jiangjiayu 发表于 2020-12-5 12:34 | 显示全部楼层 |阅读模式
本帖最后由 jiangjiayu 于 2020-12-9 18:50 编辑
  1. ///< PortX中断服务函数
  2. void PortD_IRQHandler(void)
  3. {
  4.     if( M0P_GPIO->PD_STAT_f.PD04 == 1)
  5.     {                    
  6.         M0P_GPIO->PDOUT_f.PD05 = ~M0P_GPIO->PDOUT_f.PD05;//< LED 取反
  7.         
  8.         M0P_GPIO->PD_ICLR_f.PD04 = 0;
  9.     }
  10. }  

  11. void App_UserKeyInit(void)   //配置 PD4 下降沿中断
  12. {   
  13.     ///< 打开GPIO外设时钟门控
  14.     Sysctrl_SetPeripheralGate(SysctrlPeripheralGpio, TRUE);
  15.    
  16. //    M0P_GPIO->PD04_SEL = 0;
  17. //    M0P_GPIO->PDADS_f.PD04 = 0;
  18. //    M0P_GPIO->PD04_SEL = 0;   
  19.     M0P_GPIO->PDDIR_f.PD04 = 1;     //输入
  20.     M0P_GPIO->PDPU_f.PD04 = 1;      //上拉
  21.    
  22.     M0P_GPIO->PDFIE_f.PD04 = 1;     //下降沿中断
  23. //    M0P_GPIO->CTRL2_f.AHB_SEL = GpioAHB;
  24.    
  25.     EnableNvic(PORTD_IRQn, IrqLevel2, TRUE);
  26. }
代码如上所示

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 | 显示全部楼层

有提问,有结果回馈,非常赞
mintspring 发表于 2020-12-22 14:09 | 显示全部楼层
问题解决的不错
jiekou001 发表于 2020-12-22 14:10 | 显示全部楼层
这是坐项目呢,还是学习呢

评论

反正代码都一样  发表于 2020-12-22 17:45
名字是啥样 发表于 2020-12-23 11:02 | 显示全部楼层
这种经验真的不错,感谢分享。
木木guainv 发表于 2021-1-12 14:46 | 显示全部楼层
哈哈 是的io口的初始化也非常重要
paotangsan 发表于 2021-1-12 15:09 | 显示全部楼层
整个工程还有别的功能吗
 楼主| jiangjiayu 发表于 2021-1-12 19:08 | 显示全部楼层
paotangsan 发表于 2021-1-12 15:09
整个工程还有别的功能吗

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

初始化LED灯时,把外部中断的IO口也初始化为输出了
杨寅辉 发表于 2021-1-15 10:15 | 显示全部楼层
jiangjiayu 发表于 2021-1-12 19:08
没有了,就1和IO口外部中断

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

应该是用到什么,就初始化那个啊,怎么能够全部初始化了呢,外部中断应该配置为输入的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

84

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部