4375|11

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

香主,我这样计算有错吗? [复制链接]

我现在TIM3 PWM输出,已经是正确了。
我主频在12MHz, APB1是HCLK 2分频的,所以TIM2,3,4的主频会自动倍频2,也就是TIM3,TIM4的主频是12MHz.

现在我TIM3要产生1Hz的pwm,我已经实现了。
12000000/(ARR+1)/PreScale = 12000000/(999+1)/12000 = 1Hz

现在我TIM4要产生25KHz的pwn,按照计算方式,
12000000/(ARR+1)/PreScale = 12000000/(9+1)/48 = 25000Hz

但是波形确实1.8Hz左右的,我用开发板如此计算测量,也是这种情况。

这是为啥? 我的计算有问题吗?

此帖出自stm32/stm8论坛

最新回复

                                 我tim4已经调好了阿,可以用了,之前有问题是探头接地的断了   详情 回复 发表于 2009-3-11 11:50
点赞 关注
 

回复
举报

82

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

初始化程序是否正确?

                                  
此帖出自stm32/stm8论坛
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

初始化没问题啊

外部晶振是12MHz的,gpio时钟,tim都使能了。
并且由于25KHz 我是50%占控比的,所以我TIM4_CCR_Val = 5(因为ARR = 9)

void PRO_RCC_Configuration(void)
{
  ErrorStatus HSEStartUpStatus;

  // RCC system reset(for debug purpose) 
  RCC_DeInit();

  // Enable HSE 
  RCC_HSEConfig(RCC_HSE_ON);

  // Wait till HSE is ready 
  HSEStartUpStatus = RCC_WaitForHSEStartUp();

  if (HSEStartUpStatus == SUCCESS)
  {
    // Enable Prefetch Buffer 
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

    // Flash 2 wait state 
    FLASH_SetLatency(FLASH_Latency_2);

    // HCLK = SYSCLK 
    RCC_HCLKConfig(RCC_SYSCLK_Div1);

    // PCLK2 = HCLK 
    RCC_PCLK2Config(RCC_HCLK_Div1);

    // PCLK1 = HCLK/2 
    RCC_PCLK1Config(RCC_HCLK_Div2);


    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_2); // PLL double 
    RCC->CFGR = RCC->CFGR | 0x20000;                     // HSE 2 division , so CPU PLLCLK = (12MHz/2) * 2 = 12MHz

    
    // Enable PLL 
    RCC_PLLCmd(ENABLE);

    // Wait till PLL is ready 
    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {}

    // Select PLL as system clock source 
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

    // Wait till PLL is used as system clock source 
    while (RCC_GetSYSCLKSource() != 0x08)
    {}
  }
}
此帖出自stm32/stm8论坛
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

4
 

从你现在给出的信息不足以判断问题在哪里

                                 你可以尝试改变某些参数,看看输出波形的变化趋势,这就叫做调试~~~~
此帖出自stm32/stm8论坛
 
 
 

回复

117

帖子

0

TA的资源

五彩晶圆(高级)

5
 

谢谢您的教诲,终于让我明白了什么叫调试阿~~~

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 

做个记号,慢慢学习。。。

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 

刚才我找到问题,我的探头接地线刚才断掉了

                                 之前好的,后来接地线断了,金融危机下,探头质量也不行啊
此帖出自stm32/stm8论坛
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

8
 

教诲不敢当,只是个人的一点小经验

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

9
 

香主,其实,你人真不错,顶一下。 :)

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

10
 

hjiongh贴一下你的Tim初始化程序

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

11
 

看到这类问题都不知说什么好!

博客上还有TIMER与PWM使用的教程、例子。
当时自己也是调试过这类外设。其实STM32的开发、仿真调试已经很好用。

此帖出自stm32/stm8论坛
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

12
 

我的tim初始化程序就是照抄的例子代码,就是参数改了改

                                 我tim4已经调好了阿,可以用了,之前有问题是探头接地的断了
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表