STM32L051c8t6 使用内部HSI时钟初始化。 RCC_ClkInitTypeDef RCC_ClkInitStruct; //结构体初始化 RCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化 __HAL_RCC_PWR_CLK_ENABLE(); //使能电源控制时钟 9 T$ p6 N; m8 @2 M Z: }/ i __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1 / v- T: B9 Q- U' T 这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡0 g) W# t/ v& k% D6 M }0 K( L6 Z. T$ W1 [' v! A4 ~4 c RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟 " o* t2 w, w9 N4 V //RCC_OSCILLATORTYPE_HSE 高速外部时钟0 p% O- V! A" \" H' B RCC_OscInitStruct.HSEState = RCC_HSE_OFF; //关闭HES7 R& v6 H4 t; Z( t. \: Y9 H RCC_OscInitStruct.HSIState = RCC_HSI_ON; //打开HSI9 s. H: u7 J4 w; J3 i 1 h7 g8 c0 e4 a8 F x RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL3 y/ y& Y& @ l `: D, z$ d# q - l6 J1 c ~' h3 k' v RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数% v1 \6 g9 R! Z* ?- Y4 o ' `9 O5 @; c) I5 j' f RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数 ! U) E3 r2 \" \, Q RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值1 p( ]& q Y! n- k( I/ v HAL_RCC_OscConfig(&RCC_OscInitStruct); //初始化 RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK24 I- a$ \0 b: Z% @ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源6 ? @8 b* X/ x ~ 7 m6 s2 C O/ N8 ~8 Y; M RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1 + b- K J! m0 D- @+ l6 h, e9 N RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; //APB1分频系数为1 " z2 f* Z1 }+ _ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; //APB2分频系数为1- I0 o4 X% Y- `, }" [ I4 { ; n4 F$ U7 q4 h/ ~. P HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1 # o0 E+ ^" Q) ]* Y . j7 |, A8 ?+ z$ t1 {0 G |