OpenEdv-开源电子网

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

STM32定时器TIM3时钟问题

[复制链接]

14

主题

101

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
493
金钱
493
注册时间
2011-9-6
在线时间
3 小时
发表于 2011-9-15 18:54:17 | 显示全部楼层 |阅读模式

原子哥:
    周二刚拿到开发板,现在根据<<例说STM32>>在学习开发板相关知识.关于定时器的时钟问题有点疑问:
    1 <<例说STM32>>123写到 内部时钟(CK_INT)是从APB1倍频得来的,除非APB1时钟分频数设置为1,否则通用定时器TIMX的时钟是APB1的2倍.当APB1不分频时,通用定时器TIMX的时钟就等于APB1时钟.
    2 <<例说STM32>>127写到Stm32_Clock_Init函数里面初始化APB1时钟为2分频,所以TIM3的时钟为36MHZ.
    3 Stm32_Clock_Init函数关于APB1 APB2 AHB分频设置如下:
    void Stm32_Clock_Init(u8 PLL)
    {
         ........
         RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1;      ----->>APB1为二分频,APB2 AHB未分频
        ........
     }      
    4 main函数关于时钟设置为  Stm32_Clock_Init(9);   由于外部时钟为8MHZ,则系统时钟SYSCLK为72MHZ.根据分频情况可以得到
       AHB=APB2=72MHZ   APB1=AHB/2=36MHZ

      STM32时钟框图  http://www.openedv.com/posts/list/302.htm#1030

    通过条件3 和条件4可以知道APB1为36MHZ  APB1为二分频 ,根据条件1可以判断TIM3的时钟为APB1的2倍,即72MHZ.显然与条件2中的表述有出入.  
    
    期待答案.......

事无巨细 循序渐进
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-9-16 00:43:01 | 显示全部楼层
回复【楼主位】葱花鱼:
---------------------------------
TIM3的频率这样设置,是72M的.2,是错了的.我这里写错了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

14

主题

101

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
493
金钱
493
注册时间
2011-9-6
在线时间
3 小时
 楼主| 发表于 2011-9-16 09:24:17 | 显示全部楼层
哦,知道了,多谢原子哥!
事无巨细 循序渐进
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
28
金钱
28
注册时间
2011-11-19
在线时间
0 小时
发表于 2011-12-29 18:59:52 | 显示全部楼层
72M ?  为什么我用36M计算出来的T=20ms方波都可以控制舵机的
回复 支持 反对

使用道具 举报

6

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
81
金钱
81
注册时间
2013-9-15
在线时间
0 小时
发表于 2014-6-5 18:46:50 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原来已经有人发现这个问题了,我那天还在群里问了,后来经过仔细分析,我确定应该是72M
回复 支持 反对

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-6-21
在线时间
0 小时
发表于 2014-8-22 10:15:29 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥,不好意思,之前在论坛看到过,但是刚才找又没找到,我想问一下,“将APB1时钟为进行分频,将TIM3的时钟为72MHZ”,在现在的文件中,这个函数在哪呢?.
你只有非常努力才能看起来毫不费力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-22 23:21:48 | 显示全部楼层
回复【6楼】公子小白:
---------------------------------
什么函数???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

5

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2014-6-21
在线时间
0 小时
发表于 2014-8-23 10:23:14 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
将APB1时钟为如果分频系数为1的话时钟为36M,当分频系数不为1时,将TIM3的时钟为72MHZ,我就想问一下在原子哥的程序中,通用定时器一般均为72M    那这个分频系数是在哪设置的呢?
你只有非常努力才能看起来毫不费力。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-23 23:18:06 | 显示全部楼层
回复【8楼】公子小白:
---------------------------------
每个定时器都有一个PSC寄存器,这就是用来设置分频的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-4 17:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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