STMCU小助手
发布时间:2021-11-19 22:00
|
STM32L051c8t6 使用内部HSI时钟初始化。 RCC_ClkInitTypeDef RCC_ClkInitStruct; //结构体初始化6 U9 E6 Y! \' U* A K 9 A/ J* C L& A' g1 Q- r+ p RCC_OscInitTypeDef RCC_OscInitStruct; //结构体初始化 ' y# r+ }7 y( D$ N2 F- a __HAL_RCC_PWR_CLK_ENABLE(); //使能电源控制时钟 __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);//设置调压器输出电压级别1 这个设置用来设置调压器输出电压级别,以便在器件未以最大频率工作时使性能与功耗实现平衡: N, a6 g% x3 e2 b: L7 p: @% Z RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; //时钟源为HSI内部高速时钟# p/ S9 w& _. E. }) r //RCC_OSCILLATORTYPE_HSE 高速外部时钟) j) O: G, v( d+ ?+ x RCC_OscInitStruct.HSEState = RCC_HSE_OFF; //关闭HES; A4 a, S1 N% Q7 q0 N RCC_OscInitStruct.HSIState = RCC_HSI_ON; //打开HSI( x4 y! t0 _, t. S RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; //打开PLL) w3 F% n' J& O; x N2 b RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;//设置PLL时钟源为HSI3 ?( E' D3 B! h" B0 u/ | RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4;//PLL VCO输入时钟的倍频系数, n1 l# y: }0 R# [9 l) ~* f) d ) S6 v/ R' K9 Y5 x RCC_OscInitStruct.PLL.PLLDIV = RCC_PLL_DIV2;//PLL VCO输入时钟的分频系数, J3 }) e2 w5 c) g RCC_OscInitStruct.HSICalibrationValue = 0x10;//HSI校准调整值$ [2 P) X2 u5 [ HAL_RCC_OscConfig(&RCC_OscInitStruct); //初始化) F5 q5 K' l' p, C3 k RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); //选中PLL作为系统时钟源并且配置HCLK,PCLK1和PCLK2 % C$ Q9 R0 g/ I* Y RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; //设置系统时钟源2 ^4 N1 T# @3 x2 V+ `6 Z % R. ~& H; \8 e; v S5 V, `8 r( a RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; //AHB分频系数为1 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; //APB1分频系数为12 i( C3 @: |% Q2 _+ y RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; //APB2分频系数为19 H" F9 U8 o# C9 ~( R$ a0 _4 p HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);//初始化并同时设置FLASH 的延迟周期为1+ h& _3 Q, ]7 E9 z, f6 Z3 X: } # u1 ^# c# W" M* U8 ~ |
微信公众号
手机版