STMCU小助手
发布时间:2021-11-19 22:00
|
STM32L051c8t6 使用内部HSI时钟初始化。 RCC_ClkInitTypeDef RCC_ClkInitStruct; //结构体初始化) k1 E5 X) i6 S: l, Q$ B1 B RCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化 __HAL_RCC_PWR_CLK_ENABLE(); //使能电源控制时钟 __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1 : f+ J/ _- S$ o5 B8 @' x 这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡0 q! x9 u, w- X5 r( b1 Q 4 z" N1 ]: _- A9 m RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟 //RCC_OSCILLATORTYPE_HSE 高速外部时钟+ R' W3 y2 c# S RCC_OscInitStruct.HSEState = RCC_HSE_OFF; //关闭HES0 m5 E! {# L9 M- r0 g( g2 a2 Y ; d& l/ o% L* k% J- n RCC_OscInitStruct.HSIState = RCC_HSI_ON; //打开HSI/ _0 I9 _8 R1 `/ q5 g: }% H U) t- ~+ D( R3 z RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL- k: T0 @$ [3 O8 w 7 r& J* }: f! Q. t5 T' j# L2 m$ e. z RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数9 p F1 J5 _$ y& v9 T RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数+ R. D9 R" S, r# n * @) F& }; T( u* ?4 {5 a. y RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值 & ^. d' ^$ a5 K3 @1 f Z: v HAL_RCC_OscConfig(&RCC_OscInitStruct); //初始化8 v3 i1 J8 {4 b1 b) _) [ Q8 J , A" N+ ~) D* `1 e- Y RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK23 k8 l9 h" C5 D . j( N$ U/ l: b* X% T RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源 5 E) P0 _; b" f+ ] `, M: ^$ l RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1! A u& g9 }* n ]7 ~' {) n" u* y RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; //APB1分频系数为1 0 V, ]8 f- P( Y4 ~ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; //APB2分频系数为1 HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为19 K. b3 x% x" f' b! O8 S " I) Q, L, _) H& z9 l: n . r$ w8 g+ u/ v( G0 R# \ |
微信公众号
手机版