搜索

[技术问答] 关于HC32L136J8TA不能进入中断服务函数问题

[复制链接]
250|5
 楼主 | 2020-3-22 23:29 | 显示全部楼层 | 奖励家园币|阅读模式
使用HC32L136J8TA  用GPIO  PC13设置下降沿中断, 设置代码如下:
void MenuKeyPortInit(void)
{
        stc_gpio_config_t pstcSpiGpioCfg;
       
        pstcSpiGpioCfg.enCtrlMode=GpioAHB;                        //AHB×ÜÏßÇý¶¯Ä£Ê½
       
        pstcSpiGpioCfg.enDir=GpioDirIn;                //ÊäÈëģʽ
       
        pstcSpiGpioCfg.enPuPd=GpioPu;                                //ÉÏÀ­ÊäÈë
       
        Gpio_Init(MenuKeyPort,MenuKeyPin,&pstcSpiGpioCfg);//PC13
       
        Gpio_ClearIrq(MenuKeyPort, MenuKeyPin);
       
        Gpio_EnableIrq(MenuKeyPort, MenuKeyPin, GpioIrqFalling);//ϽµÑØ´¥·¢ÊäÈëÖжÏ
       
        EnableNvic(PORTC_IRQn,IrqLevel3,TRUE);//¿ªÆôPC NVICÖжÏ
}
仿真下可以看到NVIC有打开PC端口中断,优先级有设置最高,全速运行发生中断后就是不能进入中断服务函数,停在了下图位置;
void PORTC_IRQHandler(void)
{
    Gpio_IRQHandler(2);
}

启动文件是使用MDK下安装的, 同样的代码复制在华大驱动样例里面是可以正常进入中断,样例的启动文件复制过来也不能进入中断,在自己建的工程就不能,找了好久没有找到原因;

使用特权

评论回复
| 2020-3-23 13:22 | 显示全部楼层 | 奖励家园币
先看看是不是中断入口函数名字不一样,
然后看看配置里面是不是少一个这个。
214465e7847778ef50.png

使用特权

评论回复

评分

参与人数 1威望 +2 收起 理由
Tanglin7630424 + 2 很给力!
 楼主 | 2020-3-23 21:59 | 显示全部楼层 | 奖励家园币
martinhu 发表于 2020-3-23 13:22
先看看是不是中断入口函数名字不一样,
然后看看配置里面是不是少一个这个。
...

是少了这串字符   谢谢谢 !

使用特权

评论回复
| 2020-3-25 19:10 | 显示全部楼层 | 奖励家园币
楼上的很细心,一般人很少会注意这里的。这里是什么意思呢?

使用特权

评论回复
| 2020-3-26 23:11 | 显示全部楼层 | 奖励家园币
那个没加的东西,像是个微库的关键字定义什么的东西,只有定义才能使用吗?

使用特权

评论回复
| 2020-3-27 20:07 | 显示全部楼层 | 奖励家园币
zhamatu 发表于 2020-3-26 23:11
那个没加的东西,像是个微库的关键字定义什么的东西,只有定义才能使用吗? ...

感觉像是一个类似#define这样全局宏定义的东西。

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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