stm32f429缺少高速时钟,使用内部高速时钟,但是没用

2019-07-20 13:28发布

在设计硬件时,没有添加高速时钟,想的是在软件设计时用内部的高速时钟,但是下载最简单的跑马灯程序时,keil上显示download成功,但是相应引脚并没有置高。还有程序是没有为题的,下载到阿波罗里是正常的,问题出在哪呀?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
粉碎机
2019-07-20 18:56
void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq)
{
    HAL_StatusTypeDef ret = HAL_OK;
    RCC_OscInitTypeDef RCC_OscInitStructure;
    RCC_ClkInitTypeDef RCC_ClkInitStructure;
   
    __HAL_RCC_PWR_CLK_ENABLE();
   
   
    __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
   
    RCC_OscInitStructure.OscillatorType=RCC_OSCILLATORTYPE_HSE;   
    RCC_OscInitStructure.HSEState=RCC_HSE_ON;                     
    RCC_OscInitStructure.PLL.PLLState=RCC_PLL_ON;//′ò¿aPLL
    RCC_OscInitStructure.PLL.PLLSource=RCC_PLLSOURCE_HSE;
    RCC_OscInitStructure.PLL.PLLM=pllm;
    RCC_OscInitStructure.PLL.PLLN=plln;
    RCC_OscInitStructure.PLL.PLLP=pllp;
    RCC_OscInitStructure.PLL.PLLQ=pllq;
    ret=HAL_RCC_OscConfig(&RCC_OscInitStructure);
       
    if(ret!=HAL_OK) while(1);
   
    ret=HAL_PWREx_EnableOverDrive();
    if(ret!=HAL_OK) while(1);
   

    RCC_ClkInitStructure.ClockType=(RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2);
    RCC_ClkInitStructure.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
    RCC_ClkInitStructure.AHBCLKDivider=RCC_SYSCLK_DIV1;
    RCC_ClkInitStructure.APB1CLKDivider=RCC_HCLK_DIV4;
    RCC_ClkInitStructure.APB2CLKDivider=RCC_HCLK_DIV2;
    ret=HAL_RCC_ClockConfig(&RCC_ClkInitStructure,FLASH_LATENCY_5);
               
    if(ret!=HAL_OK) while(1);
}
这段程序就是sys文件里的,我把HSE改为HSI,这样不能改为内部时钟么?

一周热门 更多>