求一个用内部晶振驱动一个led

2019-07-20 23:20发布

如题。
外部晶振不工作了,想用内部RC晶振,但不知道怎么写。
求给个格式。
GPIO_Config该怎么写?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
huishun1314
1楼-- · 2019-07-21 03:36
一般默认就是使用内部时钟。当然也可以自己配置:

void RCC_HSI_Configuration(void)  //使用内部时钟源
{
    RCC_DeInit();
    RCC_HSEConfig(RCC_HSE_OFF);
    RCC_HSICmd(ENABLE);
   
    while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET)
    {
    }
   
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
    FLASH_SetLatency(FLASH_Latency_2);
   
    RCC_HCLKConfig(RCC_SYSCLK_Div1); //AHB时钟为系统时钟SYSCLK
    RCC_PCLK2Config(RCC_HCLK_Div1);  //APB1时钟为HCLK/2,其中HCLK为AHB时钟
    RCC_PCLK1Config(RCC_HCLK_Div1);  //APB2时钟为HCLK

    //设置 PLL 时钟源及倍频系数 8/2*9 = 36MHz
    RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_9);

    //使能或者失能 PLL,这个参数可以取:ENABLE或者DISABLE
    RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,那么它不能被失能

    //等待指定的 RCC 标志位设置成功 等待PLL初始化成功
    while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }
   
    //设置系统时钟(SYSCLK) 设置PLL为系统时钟源
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
   
    //等待PLL成功用作于系统时钟的时钟源
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
}

STMF103使用内部时钟,最高只能64M
xueshawu
2楼-- · 2019-07-21 04:08
 精彩回答 2  元偷偷看……
2hen9x1
3楼-- · 2019-07-21 09:21
huishun1314 发表于 2017-2-16 21:51
一般默认就是使用内部时钟。当然也可以自己配置:

void RCC_HSI_Configuration(void)  //使用内部时钟源 ...

非常感谢
kbq1950361006
4楼-- · 2019-07-21 14:26
 精彩回答 2  元偷偷看……

一周热门 更多>