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

CUBEMX生成代码,使用时宕机

[复制链接]
one-touch 提问时间:2015-8-17 14:18 /
这几天使用STM32CUBEMX编写STM32F411程序的时候,用到了定时器,我要0.01S取一个数,我就用定时器去完成,但是我使用是发现当中断函数里面没有写自己代码时HAL_TIM_Base_Start_IT这个函数执行能通过,当中断函数写了代码,就会宕机在这一行,如果注释掉就没问题,不知道是什么原因。
收藏 评论9 发布时间:2015-8-17 14:18

举报

9个回答
netlhx 回答时间:2015-8-17 16:18:48
上关键代码,要不然大家也没办法猜
feiante 回答时间:2015-8-18 09:56:22
是啊,把你描述的代码贴出来
one-touch 回答时间:2015-8-19 09:16:42
netlhx 发表于 2015-8-17 16:18
上关键代码,要不然大家也没办法猜

我在红色代码上写代码,中断正常工作,但是在下面写运行HAL_TIM_Base_Start_IT就会宕机
void TIM2_IRQHandler(void)
{
  /* USER CODE BEGIN TIM2_IRQn 0 */
        int i=0,sum,j,temp;
        HAL_UART_Transmit(&huart6,uart_send_data,17,1000);
  /* USER CODE END TIM2_IRQn 0 */
  HAL_TIM_IRQHandler(&htim2);
  /* USER CODE BEGIN TIM2_IRQn 1 */

  /* USER CODE END TIM2_IRQn 1 */
}
one-touch 回答时间:2015-8-19 09:16:57
我在红色代码上写代码,中断正常工作,但是在下面写运行HAL_TIM_Base_Start_IT就会宕机
void TIM2_IRQHandler(void)
{
  /* USER CODE BEGIN TIM2_IRQn 0 */
        int i=0,sum,j,temp;
        HAL_UART_Transmit(&huart6,uart_send_data,17,1000);
  /* USER CODE END TIM2_IRQn 0 */
  HAL_TIM_IRQHandler(&htim2);
  /* USER CODE BEGIN TIM2_IRQn 1 */

  /* USER CODE END TIM2_IRQn 1 */
}
党国特派员 回答时间:2015-8-19 09:25:33
one-touch 发表于 2015-8-19 09:16
我在红色代码上写代码,中断正常工作,但是在下面写运行HAL_TIM_Base_Start_IT就会宕机
void TIM2_IRQHandl ...

HAL中断有自己的机制,你只要写好回调就行了。
党国特派员 回答时间:2015-8-19 09:26:46
楼主好好的看下HAL的手册。。 blank.png blank1.png blank2.png blank3.png blank4.png
one-touch 回答时间:2015-8-19 10:38:33
党国特派员 发表于 2015-8-19 09:26
楼主好好的看下HAL的手册。。

好的 多谢大神orz
wuzhujian 回答时间:2015-8-19 13:03:37
定时器的中断间隔太短,不死都难。

不一定是定时器,其它任何的中断,只要中断的间隔太短,或中断中处理的时间过长,不死都难。
one-touch 回答时间:2015-8-25 09:06:23
wuzhujian 发表于 2015-8-19 13:03
定时器的中断间隔太短,不死都难。

不一定是定时器,其它任何的中断,只要中断的间隔太短,或中断中处理的 ...

那它死后,执行的是什么代码呢?中断里面的还是主程序或者跑飞。自己中断把自己打死?

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版