OpenEdv-开源电子网

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

请问stm32f0的普通定时器TIM3的定时器时钟频率是?

[复制链接]

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
发表于 2018-7-19 14:13:06 | 显示全部楼层 |阅读模式
1金钱
请问stm32f0的普通定时器TIM3的定时器时钟频率Ft默认是多少呢?
在rcc库函数里找了好久没找到,求大神指点一下!谢谢!

最佳答案

查看完整内容[请看2#楼]

看你这个时钟树,那就是和STM32F1一样了,定时器时钟频率,一般等于CPU频率,48Mhz
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-7-19 14:13:07 | 显示全部楼层
看你这个时钟树,那就是和STM32F1一样了,定时器时钟频率,一般等于CPU频率,48Mhz
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-7-22 01:46:43 | 显示全部楼层
多找找,类比F103的
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-24 09:27:20 | 显示全部楼层
正点原子 发表于 2018-7-22 01:46
多找找,类比F103的

原子哥,103的能找得到吗我找找103的看看
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2018-7-20
在线时间
9 小时
发表于 2018-7-24 13:46:14 | 显示全部楼层
你可以在f0的数据手册找找看,我在f1的数据手册就找到了时钟树,不知道这是不是你想找的内容
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-24 14:52:29 | 显示全部楼层
时光阡陌 发表于 2018-7-24 13:46
你可以在f0的数据手册找找看,我在f1的数据手册就找到了时钟树,不知道这是不是你想找的内容

你好,时钟树我反复看过,没有找到。因为我看到别人的源码里tim3工作频率是8M,可是MCU不是48M嘛?难道我理解错了??
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-24 14:55:29 | 显示全部楼层
void tim3_init(uint16_t time3)  
{  
    TIM_TimeBaseInitTypeDef timer_init_structure;  
    NVIC_InitTypeDef nvic_init_structure;  
  
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);            //使能TIM3时钟
       
    nvic_init_structure.NVIC_IRQChannel = TIM3_IRQn;                //选择TIM3中断通道
    nvic_init_structure.NVIC_IRQChannelCmd = ENABLE;                //TIM3中断使能
    nvic_init_structure.NVIC_IRQChannelPriority = 1;                //优先级为1
    NVIC_Init(&nvic_init_structure);  
  
    TIM_DeInit(TIM3);                                               //复位TIM3  
    TIM_TimeBaseStructInit(&timer_init_structure);                  //初始化TIMBASE结构体  
   
                timer_init_structure.TIM_Prescaler = 80-1;                      //计数时钟预分频,f=1M.systick  /  1 us
    timer_init_structure.TIM_CounterMode = TIM_CounterMode_Up;      //向上计数模式
          timer_init_structure.TIM_Period = time3-1;                      //定时周期
                timer_init_structure.TIM_ClockDivision = TIM_CKD_DIV1;          //系统时钟,不分频,48M  
    timer_init_structure.TIM_RepetitionCounter = 0x00;              //发生0+1次update
    TIM_TimeBaseInit(TIM3, &timer_init_structure);  
  
    TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);                      //使能TIM3中断
    TIM_SelectOutputTrigger(TIM3, TIM_TRGOSource_Update);           //运行TIME3的update时间更新为触发源  
               
                TIM_Cmd(TIM3, ENABLE);                                          //使能TIM3
}  
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-24 14:56:04 | 显示全部楼层
这里定时10ms,不知道怎么算出来的。求解惑。
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-24 15:02:28 | 显示全部楼层
这是手册里的时钟树
QQ截图20180724145741.png
回复

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
68
金钱
68
注册时间
2018-7-20
在线时间
9 小时
发表于 2018-7-24 18:23:13 | 显示全部楼层
emmm……这个历程确定没有错吗?我类比f1好像直接48分频就行了,我刚刚在一个论坛里看,人家也是直接
timer_init_structure.TIM_Prescaler = 48-1;
https://blog.csdn.net/ybhuangfugui/article/details/51534803
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-25 13:43:13 | 显示全部楼层
正点原子 发表于 2018-7-19 14:13
看你这个时钟树,那就是和STM32F1一样了,定时器时钟频率,一般等于CPU频率,48Mhz

原子哥,我可以不可以这样理解:
用通用定时器进行定时,只需要设置TIM_Prescaler和TIM_Period就行了,定时器时钟频率使用例程默认的话,就是系统时钟频率。Tout = ((arr+1)*(psc+1))/Tclk(其中Tclk默认48M)。而且我反复看库函数,系统时钟是HSE提供,PLL经6倍频得到48M给系统时钟。
回复

使用道具 举报

7

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
152
金钱
152
注册时间
2018-7-18
在线时间
37 小时
 楼主| 发表于 2018-7-25 13:49:42 | 显示全部楼层
时光阡陌 发表于 2018-7-24 18:23
emmm……这个历程确定没有错吗?我类比f1好像直接48分频就行了,我刚刚在一个论坛里看,人家也是直接
time ...

tim3_init(1000);                                                                          //定时器初始化---10ms
这个10ms是算不出来的吧?如果按照10ms=80*1000/8M ,他这里10ms肯定是定时器时钟频率按8M算的啊。我也在怀疑哪错了。
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2018-7-25 13:54:16 | 显示全部楼层
下个cubemx  一目了然
学无止境
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 17:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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