Advertisement
wojiaocbj

clock tree stm32h745xih6

Nov 19th, 2022
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.04 KB | None | 0 0
  1. void cache_enable_m7(){
  2.     SCB_EnableICache();
  3.     SCB_EnableDCache();
  4.     SCB->CACR |= 1 << 2;
  5. }
  6. void clock_init_m7(){
  7.     HAL_StatusTypeDef ret = HAL_OK;
  8.     RCC_ClkInitTypeDef rccclk;
  9.     RCC_OscInitTypeDef rccosc;
  10.     HAL_PWREx_ConfigSupply(PWR_DIRECT_SMPS_SUPPLY);
  11.     __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
  12.     while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)){}
  13.     rccosc.OscillatorType = RCC_OSCILLATORTYPE_HSE;
  14.     rccosc.HSEState = RCC_HSE_ON;
  15.     rccosc.HSI48State = RCC_HSI_OFF;
  16.     rccosc.CSIState = RCC_CSI_OFF;
  17.     rccosc.PLL.PLLState = RCC_PLL_ON;
  18.     rccosc.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  19.     rccosc.PLL.PLLFRACN = 0;
  20.     rccosc.PLL.PLLM = CLOCK_PLLM;
  21.     rccosc.PLL.PLLN = CLOCK_PLLN;
  22.     rccosc.PLL.PLLP = CLOCK_PLLP;
  23.     rccosc.PLL.PLLQ = CLOCK_PLLQ;
  24.     rccosc.PLL.PLLR = CLOCK_PLLR;
  25.     rccosc.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE;
  26.     rccosc.PLL.PLLRGE = RCC_PLL1VCIRANGE_2;
  27.     ret = HAL_RCC_OscConfig(&rccosc);
  28.     if(ret){
  29.         for(;;){
  30.             ;
  31.         }
  32.     }
  33.     rccclk.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_D1PCLK1 | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 | RCC_CLOCKTYPE_D3PCLK1);
  34.     rccclk.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  35.     rccclk.SYSCLKDivider = RCC_SYSCLK_DIV1;
  36.     rccclk.AHBCLKDivider = RCC_HCLK_DIV2;
  37.     rccclk.APB1CLKDivider = RCC_APB1_DIV2;
  38.     rccclk.APB2CLKDivider = RCC_APB2_DIV2;
  39.     rccclk.APB3CLKDivider = RCC_APB3_DIV2;
  40.     rccclk.APB4CLKDivider = RCC_APB4_DIV4;
  41.     ret = HAL_RCC_ClockConfig(&rccclk, FLASH_LATENCY_3);
  42.     if(ret)for(;;);
  43.     __HAL_RCC_CSI_ENABLE();
  44.     __HAL_RCC_SYSCFG_CLK_ENABLE();
  45.     HAL_EnableCompensationCell();
  46.     __HAL_RCC_GPIOA_CLK_ENABLE();
  47.     __HAL_RCC_GPIOB_CLK_ENABLE();
  48.     __HAL_RCC_GPIOC_CLK_ENABLE();
  49.     __HAL_RCC_GPIOD_CLK_ENABLE();
  50.     __HAL_RCC_GPIOE_CLK_ENABLE();
  51.     __HAL_RCC_GPIOF_CLK_ENABLE();
  52.     __HAL_RCC_GPIOG_CLK_ENABLE();
  53.     __HAL_RCC_GPIOH_CLK_ENABLE();
  54.     __HAL_RCC_GPIOI_CLK_ENABLE();
  55.     __HAL_RCC_GPIOJ_CLK_ENABLE();
  56.     __HAL_RCC_GPIOK_CLK_ENABLE();
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement