Elimdeki işlemci (stm32f103rb) neden olduğunu anlamadığım bir sebepten harici osilatörü çalışmıyordu. Alternatif olarak, hiç kullanmadığım HSI (high speed internal ) osilatörü devreye verdim. Kodlarda sadece bu kısmı vereceğim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
void SetSysClockHSI(void) { RCC_DeInit(); RCC_HSICmd(ENABLE); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PCLK1Config(RCC_HCLK_Div1); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_CFGR_PLLMULL16); RCC_PLLCmd( ENABLE); while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK); while (RCC_GetSYSCLKSource() != 0x08) { } } |
iyi çalışmalar.
Ziyaretci : 2078