OpenEdv-开源电子网

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

stm32 多个定时器可以单独使用,不能切换使用会是什么原因?

[复制链接]

2

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
金钱
237
注册时间
2015-3-31
在线时间
40 小时
发表于 2015-10-19 10:52:35 | 显示全部楼层 |阅读模式
5金钱
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
 
  NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
 
  NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 4;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);

void TIMER2Conf(void)
{
  TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

  TIM_TimeBaseStructure.TIM_Period = 20-1;
  TIM_TimeBaseStructure.TIM_Prescaler = 72-1;        
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
  TIM_ClearFlag(TIM2, TIM_FLAG_Update);
  TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
//  TIM_Cmd(TIM2, ENABLE);
}
定时器配置都一样的,20us,我想开多个定时器,类似线程偶尔处理下数据,也为以后升级用。
现在如果偶尔使用的定时器里面的程序稍微复杂点,整个系统就不工作了,会是什么原因呢?
我把两个定时器写一样的程序,可以单独使用,也不能切换

余生请你指教!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5787
金钱
5787
注册时间
2013-11-22
在线时间
1213 小时
发表于 2015-10-19 23:52:40 | 显示全部楼层
不知你说的切换是什么意思,  同时开几个定时器是可以的
回复

使用道具 举报

2

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
237
金钱
237
注册时间
2015-3-31
在线时间
40 小时
 楼主| 发表于 2015-10-20 09:14:07 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
可能因为定时器的时间太短,里面又有好些任务要处理,所以容易出错吧
我把主要定时器(times2)用于定位扫描读取接收数据,配合用的定时器(times3)偶尔用于检测判断数据是否需要做调整,固定时间(比如10s)开启使能一次,
使用times3的时候临时关闭下times2,切换过来
余生请你指教!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 20:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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