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

[复制链接]
9590|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的等待周期了吗?
 楼主| _crystal_ 发表于 2010-11-11 16:33 | 显示全部楼层
natertech 发表于 2010-11-13 11:42 | 显示全部楼层
象主是专业呀!
zhd87 发表于 2010-11-13 21:30 | 显示全部楼层
连这个代码都看的一知半解的,哎,求怎样快速入门啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

131

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部