打印
[STM32F1]

内部时钟的使用问题

[复制链接]
1460|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
momingwei|  楼主 | 2013-11-28 17:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3.x的固件库在启动文件里直接就调用了SystemInit()而这个函数默认使用的就是外部时钟,我要使用内部时钟应该去哪里修改
ps :我已经自己写了RCC_Configuration()如下,但是 启动后调试单步执行 还是直接进入SystemInit

void RCC_Configuration(void)
{
  RCC_DeInit();//将外设 RCC寄存器重设为缺省值

  RCC_HSICmd(ENABLE);//使能HSI  
  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET)//等待HSI使能成功
  {
  }

  if(1)
  {
    //FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    //FLASH_SetLatency(FLASH_Latency_2);
   
    RCC_HCLKConfig(RCC_SYSCLK_Div1);   
    RCC_PCLK1Config(RCC_HCLK_Div2);
    RCC_PCLK2Config(RCC_HCLK_Div1);
   
    //设置 PLL 时钟源及倍频系数
    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_2);               
    //使能或者失能 PLL,这个参数可以取:ENABLE或者DISABLE
    RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,那么它不能被失能
    //等待指定的 RCC 标志位设置成功 等待PLL初始化成功
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }

    //设置系统时钟(SYSCLK) 设置PLL为系统时钟源
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);  
    //等待PLL成功用作于系统时钟的时钟源
    //  0x00:HSI 作为系统时钟
    //  0x04:HSE作为系统时钟
    //  0x08:PLL作为系统时钟  
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }
沙发
zeluo| | 2013-11-28 19:31 | 只看该作者
不是很懂   帮你顶一个    看看高手的意见吧    楼主

使用特权

评论回复
板凳
airwill| | 2013-11-28 20:51 | 只看该作者
要使用内部时钟应该去哪里修改?
修改 system_stm32fx0x.c 文件吧

使用特权

评论回复
地板
momingwei|  楼主 | 2013-11-29 10:37 | 只看该作者
system_stm32fx0x.c 这个文件是只读的吧 修改不了、、、

使用特权

评论回复
5
airwill| | 2013-11-29 10:47 | 只看该作者
momingwei 发表于 2013-11-29 10:37
system_stm32fx0x.c 这个文件是只读的吧 修改不了、、、

把它复制到你的工程文件夹里, 再修改.
"只读" 都搞不定吗?  那就不要搞程序设计了.

使用特权

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

本版积分规则

11

主题

57

帖子

0

粉丝