HSE çalışmıyor HSI nasıl çalıştırıcam ?

Başlatan magnetron, 06 Eylül 2014, 18:27:04

magnetron

merhaba forum,

anakarttaki STM32F103 değiştirdim ama bu sefer de HSE çalışmıyor
o yüzden içindeki kod çalışmıyor

içine USART'tan kod atabiliyorum orda sorun yok
reset , boot ve quarz devresini de kontrol ettim quarzı değiştirdim olmadı
uC yi de tekrar değiştiremem incecik yollar kalkar bu sefer

bendeki HSE start kodu şu şekilde bunu standart peripheral library'den aldım
acaba bunun neresini nasıl değiştiricem de HSI yi kullanabilicem ?
böyle bir tecrübesi olan var mı ?

standart peripheral library'e baktım HSI örneği yok
teşekkür

void SetSysClockTo72(void)
{
  /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/   
  /* RCC system reset(for debug purpose) */
  RCC_DeInit();

  /* Enable HSE */
  RCC_HSEConfig(RCC_HSE_ON);

  /* Wait till HSE is ready */
  HSEStartUpStatus = RCC_WaitForHSEStartUp();

  if (HSEStartUpStatus == SUCCESS)
  {
    /* Enable Prefetch Buffer */
    FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);

    /* Flash 2 wait state */
    FLASH_SetLatency(FLASH_Latency_2);
 
    /* HCLK = SYSCLK */
    RCC_HCLKConfig(RCC_SYSCLK_Div1); 
  
    /* PCLK2 = HCLK */
    RCC_PCLK2Config(RCC_HCLK_Div1); 

    /* PCLK1 = HCLK/2 */
    RCC_PCLK1Config(RCC_HCLK_Div2);
    
    /* ADCCLK = PCLK2/4 */
    RCC_ADCCLKConfig(RCC_PCLK2_Div6); 
//#else
    /* PLLCLK = 8MHz * 9 = 72 MHz */
    RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
//#endif

    /* Enable PLL */ 
    RCC_PLLCmd(ENABLE);

    /* Wait till PLL is ready */
    while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
    {
    }

    /* Select PLL as system clock source */
    RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

    /* Wait till PLL is used as system clock source */
    while(RCC_GetSYSCLKSource() != 0x08)
    {
    }
  }
  else
  { /* If HSE fails to start-up, the application will have wrong clock configuration.
       User can add here some code to deal with this error */    

    /* Go to infinite loop */
    while (1)
    {
    }
  }
}

camby

HSI init rotinleri yazılmamış,

driver'dan baka baka yazmak lazım,

ama forumda da yazılmıştı bir başlıkta hepsi derli toplu bir şekilde, ona bir bakınsan çıkar heralde stm32 bölümünden sanırım

muhittin_kaplan