From 3688fad1bca3645663baa03916d788d6755923e4 Mon Sep 17 00:00:00 2001 From: Carsten Thiele <software@carsten-thiele.de> Date: Wed, 22 Mar 2023 07:24:53 +0100 Subject: [PATCH] configurable HSITRIM value in SystemInit48HSI() --- ch32v003fun/ch32v003fun.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ch32v003fun/ch32v003fun.c b/ch32v003fun/ch32v003fun.c index 75c6549..0d38126 100644 --- a/ch32v003fun/ch32v003fun.c +++ b/ch32v003fun/ch32v003fun.c @@ -807,10 +807,10 @@ asm volatile( void SystemInit48HSI( void ) { // Values lifted from the EVT. There is little to no documentation on what this does. - RCC->CFGR0 = RCC_HPRE_DIV1 | RCC_PLLSRC_HSI_Mul2; // PLLCLK = HSI * 2 = 48 MHz; HCLK = SYSCLK = APB1 - RCC->CTLR = RCC_HSION | RCC_PLLON | (HSITRIM << 3); // Use HSI, but enable PLL. - FLASH->ACTLR = FLASH_ACTLR_LATENCY_1; // 1 Cycle Latency - RCC->INTR = 0x009F0000; // Clear PLL, CSSC, HSE, HSI and LSI ready flags. + RCC->CFGR0 = RCC_HPRE_DIV1 | RCC_PLLSRC_HSI_Mul2; // PLLCLK = HSI * 2 = 48 MHz; HCLK = SYSCLK = APB1 + RCC->CTLR = RCC_HSION | RCC_PLLON | ((HSITRIM) << 3); // Use HSI, but enable PLL. + FLASH->ACTLR = FLASH_ACTLR_LATENCY_1; // 1 Cycle Latency + RCC->INTR = 0x009F0000; // Clear PLL, CSSC, HSE, HSI and LSI ready flags. // From SetSysClockTo_48MHZ_HSI while((RCC->CTLR & RCC_PLLRDY) == 0); // Wait till PLL is ready -- GitLab