打印

如何跟踪STM32时钟频率的变化

[复制链接]
3168|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jtingwang|  楼主 | 2008-4-11 09:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个程序运行在不同的板子上,其软件延时、定时中断等和时间相关的函数,延时的时间、定时中断的时间大不相同。
是不是程序运行过程中,时钟频率被修改?或者还有些和时钟相关的寄存器要设置?(不设置的话,可能程序运行正常,也可能不正常)

附:现在在时钟设置;

/* RCC system reset(for debug purpose) */
    
/* Enable HSE */
      
/* Wait till HSE is ready */
    
/* Flash 2 wait state */

/* Enable Prefetch Buffer */

/* HCLK = SYSCLK/4 = 18MHzexecutation */

/* PCLK1 = HCLK = 18MHz

/* PCLK2 = HCLK = 18MHz

/* AD Clk = PCLK2/2 = 9MHz */

/* usb Clk = PLLCLK/1.5 = 48MHz */

/* PLLCLK = 8MHz * 9 = 72 MHz, PLLCLK is SYSCLK */

/* Enable PLL */ 

/* Wait till PLL is ready */

/* Select PLL as system clock source */

/* Wait till PLL is used as system clock source */   
沙发
香水城| | 2008-4-11 09:49 | 只看该作者

请检查你的晶振是否起振,振荡频率是否正确

我曾经碰到过一个24MHz的晶振,起振之后产生24MHz的波形,但却是每3个周期中只有一个周期满振幅,另两个周期的振幅却很小,结果被系统识别为8MHz,换了一个质量好的晶振后解决了问题。所以检查晶振的工作状况是非常重要的。

另外,你可以用ST提供的例子在你的板子上试一下,看是否为相同问题。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

171

帖子

1

粉丝