当前位置:   article > 正文

Keil MDK 5.33 运行华大官方示例无法进入 Timer0 中断_tim0_irqhandler

tim0_irqhandler

背景

在玩华大 MCU 的时候(芯片是 HC32L136K8TA-LQFP64),用的是 Keil MDK 5.33 去进行开发。然后发现跑一个定时器示例时,无法进入 Timer0 的中断函数 Tim0_IRQHandler(),通过高人指点之后,才发现是 Arm Compiler 6.15 版本问题,无奈之下回退到 MDK 5.32。
开发板用的是下面这款:
在这里插入图片描述
在这里插入图片描述

发现问题的过程

下载官方驱动库及示例代码

学习 MCU 最快的学习方法当然是从看官方示例开始。于是从官网 https://www.hdsc.com.cn/Category82-1404 上下载了驱动库及示例 hc32l13x_ddl_Rev1.9.2 Lite.zip

运行工程并下载到开发板

  1. 用 MDK 5.33 打开工程 hc32l13x_ddl_Rev1.9.2 Lite\example\generaltimer\gt_timer\MDK\gt_timer.uvprojx
  2. 打开 Options for target … 对话框,并选择 Device 选项卡,选择对应的芯片。
    Options for Target - Device
  3. 连通开发板,并且切换到 Debug 选项卡,红色方框处选择对应的连接模式,我的开发板是 CMSIS-DAP Debugger
    Options for Target - Debug
  4. 然后点击旁边的 Settings 按钮,查看设备是否连接正常,如果连接正常红色方框处会显示设备名称。
    Cortex-M Target Driver Setup
  5. 选择 Utilities 选项卡,点击 Settings 按钮
    Options for Target Utilities
  6. 在弹出的对话框中,选择 Flash Download 选项卡,点击 Add 按钮,添加对应的 Device Type,这样才能正常下载程序到开发板中。
    在这里插入图片描述
    在这里插入图片描述
  7. 上述设置完成之后,编译并下载,此时发现开发板上的 LED 灯不会定时闪烁。看代码最终发现并没有跑进 Tim0_IRQHandler() 中断函数,导致 LED 不闪。

解决方法

切换旧的 Arm Compiler

在不回退 MDK 版本的情况下,打开 Target 选项卡切换成旧版本的 Arm Compiler。
在这里插入图片描述

回退 MDK 版本

或者更加彻底,删掉 MDK 5.33,安装老版本的 MDK,验证 MDK 5.32 即可。
PS:MDK532 的 Arm Compiler 是 V6.14 版,MDK533 是 V6.15 版。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/507220
推荐阅读
相关标签
  

闽ICP备14008679号