你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32G030F6PCUbe生成的TIM中断不能运行是为什么呢

[复制链接]
电电星 提问时间:2023-9-25 15:50 / 未解决

STM32G030F6PCUbe生成的TIM中断不能运行,打断点都没有进入

收藏 评论7 发布时间:2023-9-25 15:50

举报

7个回答
butterflyspring 回答时间:2023-9-25 15:59:04
通常CubeMx 生成的是外设基本配置代码。 如果定时器需要中断方式运行,则需要手动写相应代码。
建议先熟悉产品的参考手册,然后运行一下cube 库中的例程,这样才可以正确使用该软件库。
很多小伙伴们都是这样上手的。
电电星 回答时间:2023-9-25 16:00:55

butterflyspring 发表于 2023-9-25 15:59
通常CubeMx 生成的是外设基本配置代码。 如果定时器需要中断方式运行,则需要手动写相应代码。
建议先熟悉 ...

基本配置按照CubeMX配置好后只在中断中添加参数进行向上计数,程序并没有进入中断

butterflyspring 回答时间:2023-9-25 16:28:49

电电星 发表于 2023-9-25 16:00
基本配置按照CubeMX配置好后只在中断中添加参数进行向上计数,程序并没有进入中断
...

那你可以单步调试一下,看看软件有没有去配置中断使能位。 如果没有配置,那就需要手动去添加了。

电电星 回答时间:2023-9-25 16:35:28

butterflyspring 发表于 2023-9-25 16:28
那你可以单步调试一下,看看软件有没有去配置中断使能位。
如果没有配置,那就需要手动去添加了。
...

使能是有看到,但是就是不进入

image.png

butterflyspring 回答时间:2023-9-25 16:48:57
电电星 发表于 2023-9-25 16:35
[md]使能是有看到,但是就是不进入

!(data/attachment/forum/202309/25/163526a7smwmaaj9y7u4mr.png?ima ...

这个是打开内核的,通常在生成的初始化函数中调用
外设的还没有使能。
所以还是打开库中现成例程,这样就比较直观的了解库的运行方式了。



yr 回答时间:2023-9-25 16:49:14

这个是中断控制器有使能,外设的中断是否有打开?hal库有阻塞,中断,dma三种方式启动,是否选择正确的方式,另如果有抢占的中断一直pending,也会阻塞低优先级的中断响应。在NVIC中检查,一目了然

STM1024 回答时间:2023-9-26 09:06:08
首先检查配置等都正常,生成代码以后,如果使用中断方式需要做两件事:
  1. HAL_TIM_Base_Start_IT(&htim2);
复制代码
然后是写回调函数:
  1. void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
  2. {
  3.         if (htim->Instance == TIM2)
  4.         {
  5.                 //你的代码
  6.         }
  7. }
复制代码
你可以检查一下试试看
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版