1. Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.
    Dismiss Notice

ARM STMF32103 Clock settings

Discussion in 'ARM' started by ahmedragia21, Apr 29, 2014.

  1. ahmedragia21

    ahmedragia21 Member

    Joined:
    Apr 5, 2006
    Messages:
    470
    Likes:
    1
    Location:
    Egypt,Cairo
    Hi All,

    is there a minimal program to set the clock of the stmf32103 to 72Mhz.

    I have written an FSMC LCD code and when I write 240*100 pixels, it takes about 0.1secs, so there should
     
  2. do...loop

    do...loop New Member

    Joined:
    Jun 6, 2012
    Messages:
    1
    Likes:
    0
    Hi
    Is it possible to put the program until To give a better offer
     
  3. پروژه های الکترو

    پروژه های الکترو Member

    Joined:
    Apr 20, 2012
    Messages:
    37
    Likes:
    0
    Location:
    تهران اندروید
    Are you using CMSIS libs?
    If yes try
    Code (text):

    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)
      {
        /* Flash 0 wait state */
        FLASH_SetLatency(FLASH_Latency_0);
        /* HCLK = SYSCLK */
        RCC_HCLKConfig(RCC_SYSCLK_Div1);
     
        /* PCLK2 = HCLK */
        RCC_PCLK2Config(RCC_HCLK_Div1);
     
        /* PCLK1 = HCLK */
        RCC_PCLK1Config(RCC_HCLK_Div1);
       
        /* PLLCLK = (8MHz) * 9 = 72 MHz */
        RCC_PREDIV1Config(RCC_PREDIV1_Source_HSE, RCC_PREDIV1_Div1);
        RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9);
     
        /* 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)
        {
        }
      }
    }
    [/cod]
     

Share This Page