OpenEdv-开源电子网

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

定时器级联

[复制链接]

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-12-22
在线时间
17 小时
发表于 2014-1-5 15:06:17 | 显示全部楼层 |阅读模式

关于定时器级联,有几个疑惑:

1、STM2全国巡回研讨会中讲到TIM1是TIM2的Master,TIM2是TIM1的Slave,是TIM3的Master,那TIM3会不会是TIM4的Master呢?

2、当TIM2,TIM3分别为主从定时器级联时,他们是各占用一个通道吗?如果是,各自占用的是CH1吗?那主定时器其它通道会不会对从定时器产生影响呢?

3、我用当TIM2,TIM3分别为主从定时器级联,TIM2产生脉冲,TIM3进行计数,但TS设置的是ITR1,而STM2全国巡回研讨会中描述的是ITR2(附件中红色箭头所指位置),这是怎么回事呢?

多谢指导,STM32学习中。。。

搜狗截图20140105150242.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

头像被屏蔽

38

主题

382

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2012-12-5
在线时间
19 小时
发表于 2014-1-5 16:06:25 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-1-5 18:26:09 | 显示全部楼层
1,是可以的,详见<stm32参考手册>.定时器寄存器描述部分:


2,从机会占用一个通道,主机无影响.其他未用到的通道都可以正常使用.
3,从表59看出,宣讲会的图片有误.


我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-12-22
在线时间
17 小时
 楼主| 发表于 2014-1-5 19:23:31 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
非常感谢原子哥!
回复 支持 反对

使用道具 举报

头像被屏蔽

38

主题

382

帖子

0

精华

高级会员

Rank: 4

积分
596
金钱
596
注册时间
2012-12-5
在线时间
19 小时
发表于 2014-1-5 19:34:31 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-12-22
在线时间
17 小时
 楼主| 发表于 2014-1-5 21:50:27 | 显示全部楼层
回复【5楼】toddchen:
---------------------------------
从定时器设置为门控模式,当检测到主定时器触发输出的上升沿时,从定时器的计数器就开始计数,而触发变为低时,从定时器则停止计数(不复位)。
可以参考一下http://www.amobbs.com/thread-4958481-1-1.html
回复 支持 反对

使用道具 举报

7

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2013-12-22
在线时间
17 小时
 楼主| 发表于 2014-2-25 12:47:18 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
请问,TIM2,TIM3分别作为主从定时器级联时,设置的是ITR1(TS=001),占用TIM3的是通道1。
当TIM1、TIM3分别作为主从定时器级联时,设置的是ITT0(TS=000),请问此时占用的是TIM3的那个通道??
也就是说如何确认TIM3作为从定时器时所占用的通道是哪个。
麻烦原子哥再指点一下。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-2-25 21:06:45 | 显示全部楼层
回复【7楼】天空的枫度:
---------------------------------
内部触发0,不是外部通道.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2014-3-2
在线时间
1 小时
发表于 2015-3-17 10:44:01 | 显示全部楼层
原子哥哥,你好,麻烦问下time2,3内部级联问题,
TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;

  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2 | RCC_APB1Periph_TIM3, ENABLE); 
/* TIM2 configuration*/ 
  /* Time Base configuration 基本配置 配置定时器的时基单元*/
  TIM_TimeBaseStructInit(&TIM_TimeBaseStructure); 
  TIM_TimeBaseStructure.TIM_Period = 0xffff; //自动重装值         
  TIM_TimeBaseStructure.TIM_Prescaler = 0x0;       
  TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;    
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
  TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); 
  
  TIM_PrescalerConfig(TIM2, 0, TIM_PSCReloadMode_Update);
  /* Disable the TIM2 Update event */
  TIM_UpdateDisableConfig(TIM2, ENABLE);
  /* ----------------------TIM2 Configuration as slave for the TIM3 ----------*/
  /* Select the TIM2 Input Trigger: TIM3 TRGO used as Input Trigger for TIM2*/
  TIM_SelectInputTrigger(TIM2, TIM_TS_ITR2);
  /* Use the External Clock as TIM2 Slave Mode */
  TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_External1);
  /* Enable the TIM2 Master Slave Mode */
  TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);
  TIM_ARRPreloadConfig(TIM2, ENABLE);
/* 定时器配置:
1.设置定时器最大计数值 50000
2.设置时钟分频系数:TIM_CKD_DIV1
3. 设置预分频:  1Mhz/50000= 1hz 
4.定时器计数模式  向上计数模式
*/  
   TIM_TimeBaseStructure.TIM_Period = 0xffff;     
   TIM_TimeBaseStructure.TIM_Prescaler = 72;  //1M 的时钟  
   TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
   TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;  
//应用配置到TIM3 
   TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
// 使能TIM3重载寄存器ARR
   TIM_ARRPreloadConfig(TIM3, ENABLE);

TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);
TIM_UpdateRequestConfig(TIM3, TIM_UpdateSource_Regular);
/* ----------------------TIM3 Configuration as Master for the TIM2 -----------*/
   /* Use the TIM3 Update event  as TIM3 Trigger Output(TRGO) */
   TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);
   /* Enable the TIM3 Master Slave Mode */
   TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);

   //启动定时器3
TIM_Cmd(TIM3, ENABLE); 
   TIM_Cmd(TIM2, ENABLE);
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-17 23:27:33 | 显示全部楼层
回复【9楼】yaya2:
---------------------------------
这个我也没做过哦
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

31

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
256
金钱
256
注册时间
2016-6-16
在线时间
46 小时
发表于 2016-12-28 09:47:39 | 显示全部楼层
正点原子 发表于 2015-3-17 23:27
回复【9楼】yaya2:
---------------------------------
这个我也没做过哦

定时器初学,为什么会需要定时器级联?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 12:33

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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