#include "stm32f10x.h"
#include "led.h"
void Delay(u32 i)
{
while(i--);
}
void RCC_HSE_Config(u32 clksrcdiv,u32 pllmul)
{
RCC_DeInit(); //Reset RCC to be Default Value;
RCC_HSEConfig(RCC_HSE_ON); //Configure HSE
if( RCC_WaitForHSEStartUp() == SUCCESS) //Wait HSE Response
{
RCC_HCLKConfig(RCC_SYSCLK_Div1); //Configure AHB Clock
RCC_PCLK1Config(RCC_HCLK_Div2); //Configure PCLK1 (Low Speed)
RCC_PCLK2Config(RCC_HCLK_Div1); //Configure PCLK2 (high Speed)
RCC_PLLConfig(clksrcdiv,pllmul); //Configure Clock and Multiplier
RCC_PLLCmd(ENABLE); //Enable PLL
while( RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) //Check RCC Flag Status
{
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //Configure SYSCLK
}
while(RCC_GetSYSCLKSource() != 0x08) //Return SYSCLK 0x08
{
}
}
}
int GPIO_PIN[6]={GPIO_Pin_0,GPIO_Pin_1,GPIO_Pin_2,GPIO_Pin_3,GPIO_Pin_4,GPIO_Pin_5};
int main()
{
RCC_HSE_Config( RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); //72K PLL
LED_Init();
while(1)
{
int i;
for(i=0;i<=5;i++) //Running water LED
{
GPIO_ResetBits(GPIOC,GPIO_PIN[i]);
Delay(6000000);
GPIO_SetBits(GPIOC,GPIO_PIN[i]);
Delay(6000000);
}
}
}