打印

请教STM32F103的系统时钟设置问题

[复制链接]
9029|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
_crystal_|  楼主 | 2010-11-11 15:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103R8,使用HSI
设置 RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_9);时没有出现问题,
设置RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_16); 时就跑到HardFaultException异常了。
STM32F103R8不是最高可达72MHz吗?为什么设到64MHz就出问题了?以下是原代码


void RCC_Configuration(void)
{
  RCC_DeInit();
   
  RCC_HSICmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);
  
  RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
  
  RCC_HSEConfig(RCC_HSE_OFF);
  RCC_LSEConfig(RCC_LSE_OFF);
  RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_16); //  64HMz
  RCC_PLLCmd(ENABLE);
  while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);
  RCC_ADCCLKConfig(RCC_PCLK2_Div4);
  RCC_PCLK2Config(RCC_HCLK_Div1);
  RCC_PCLK1Config(RCC_HCLK_Div2);
  RCC_HCLKConfig(RCC_SYSCLK_Div1);
  RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
  while(RCC_GetSYSCLKSource() != 0x08);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB
                         | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD
                         | RCC_APB2Periph_AFIO, ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 |RCC_APB2Periph_ADC1 , ENABLE);
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
}
沙发
香水城| | 2010-11-11 15:44 | 只看该作者
看手册:使用HSI时,最高只能到64MHz。

使用特权

评论回复
板凳
_crystal_|  楼主 | 2010-11-11 16:08 | 只看该作者
我也只是设到64MHz,但出现异常了,不知道为什么

使用特权

评论回复
地板
香水城| | 2010-11-11 16:27 | 只看该作者
你设置Flash的等待周期了吗?

使用特权

评论回复
5
_crystal_|  楼主 | 2010-11-11 16:33 | 只看该作者
没有

使用特权

评论回复
6
natertech| | 2010-11-13 11:42 | 只看该作者
象主是专业呀!

使用特权

评论回复
7
zhd87| | 2010-11-13 21:30 | 只看该作者
连这个代码都看的一知半解的,哎,求怎样快速入门啊

使用特权

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

本版积分规则

36

主题

131

帖子

0

粉丝