OpenEdv-开源电子网

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

TIM3的时钟为零

[复制链接]

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2017-1-27
在线时间
6 小时
发表于 2017-1-31 17:13:58 | 显示全部楼层 |阅读模式
2金钱
今天发现一个奇怪的问题. 我用标准外设库给NucleoF303K8写PWM输出的代码,没成功.着手去查的时候发现TIM3的时钟是0.我查的方法如下:
1) 获取所有时钟频率:
  RCC_ClocksTypeDef board_clocks;
  RCC_GetClocksFreq(&board_clocks);
2)  检查SYSCLK
    board_clocks.SYSCLK_Frequency 是 72000000
3) 检查 TIM1 时钟
    board_clocks.TIM1CLK_Frequency 是 72000000
4) 检查PCLK1时钟:
    board_clocks.PCLK1_Frequency 是 36000000
5) 检查HCLK时钟:
    board_clocks.HCLK_Frequency 是 72000000
6) 检查 TIM3 时钟
    board_clocks.TIM3CLK_Frequency 是 0 !!!!!!!!
按照F30x的参考手册,TIM3时钟应该是PCLK1x2=72000000, 为何现在是0呢? 我是不是漏做了什么?

最佳答案

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

在ST的论坛里找到提示了, 估计是F3 SPL的一个bug, 在RCC_GetClocksFreq的代码中,有一段#if STM32F303xE ... #endif的代码, TIM3的时钟获取刚好在这段代码中, 按照stm32f30x.h的提示F303K8芯片应该启用宏STM32F334x8,所以TIM3时钟获取不到.我没有仔细查阅代码, 而是调通了PWM,证明了TIM3的时钟不是0
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2017-1-27
在线时间
6 小时
 楼主| 发表于 2017-1-31 17:13:59 | 显示全部楼层
在ST的论坛里找到提示了, 估计是F3 SPL的一个bug, 在RCC_GetClocksFreq的代码中,有一段#if STM32F303xE ... #endif的代码, TIM3的时钟获取刚好在这段代码中, 按照stm32f30x.h的提示F303K8芯片应该启用宏STM32F334x8,所以TIM3时钟获取不到.我没有仔细查阅代码, 而是调通了PWM,证明了TIM3的时钟不是0
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 22:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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