OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2986|回复: 3

stm32f405 FreeRtos 定时器中断频率快导致系统直接卡死怎么办啊

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-5-10
在线时间
16 小时
发表于 2020-1-13 10:39:50 | 显示全部楼层 |阅读模式
7金钱
用的原子的代码,只是改了芯片型号,定时器中断频率过快就会导致整个代码崩溃,不定期进入hardfault,频率改慢就没事。我想设置一个1ms或者更小的定时器中断,求大神赐教。附上代码。

CableLift_FreeRtos.zip

790.87 KB, 下载次数: 14

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2020-1-13 15:20:03 | 显示全部楼层
有没试过用407板子正常不
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2019-5-10
在线时间
16 小时
 楼主| 发表于 2020-1-13 16:35:58 | 显示全部楼层
1208 发表于 2020-1-13 15:20
有没试过用407板子正常不

试了,貌似是正常的,然后我又裸机试了一下,还是进hardfault,然后调试发现有很大概率是在定时器中断处进hardfault。理论上405和407应该没有大区别吧,代码应该能够通用吧。贴上定时器代码。
void TIM3_Int_Init(u32 arr,u32 psc)
{              
  TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);  ///使能TIM7时钟

  TIM_TimeBaseInitStructure.TIM_Period = arr;   //自动重装载值
  TIM_TimeBaseInitStructure.TIM_Prescaler=psc;  //定时器分频
  TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up; //向上计数模式
  TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1;

  TIM_TimeBaseInit(TIM3,&TIM_TimeBaseInitStructure);//初始化TIM3

  TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); //允许定时器3更新中断
  TIM_Cmd(TIM3,ENABLE); //使能定时器3

  NVIC_InitStructure.NVIC_IRQChannel=TIM3_IRQn; //定时器3中断
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=5; //抢占优先级1
  NVIC_InitStructure.NVIC_IRQChannelSubPriority=0; //子优先级3
  NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
  NVIC_Init(&NVIC_InitStructure);

}  

//定时器7中断服务函数
void TIM3_IRQHandler(void)
{
  static int last_cnt=0;
  int now_cnt=0;
  if(TIM_GetITStatus(TIM3,TIM_IT_Update)==SET) //溢出中断
  {
    //now_cnt = (int)TIM5->CNT;
    //CableLinearSpeed = (float)(now_cnt - last_cnt)/4.0f/0.01f*WHEEL_DIM*PI;
    //last_cnt = now_cnt;
  }
  TIM_ClearITPendingBit(TIM3,TIM_IT_Update);  //清除中断标志位
}


微信截图_20200113163336.png
回复

使用道具 举报

57

主题

1680

帖子

3

精华

资深版主

Rank: 8Rank: 8

积分
4306
金钱
4306
注册时间
2018-6-30
在线时间
808 小时
发表于 2020-1-14 14:34:43 | 显示全部楼层
那你只能频率改慢一点了
业精于勤荒于嬉;行成于思毁于随!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-11 15:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表