| 
 
| 本帖最后由 gaochy1126 于 2012-5-6 19:35 编辑 
 #include "stm32f10x.h"
 #include "stm32_eval.h"
 #include "stm32f10x_conf.h"
 GPIO_InitTypeDef GPIO_InitStructure;//GPIO结构体
 void RCC_Configuration(void)//RCC初始化
 {
 ErrorStatus HSEStartUpStatus;
 /* 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);
 /* PLLCLK = 8MHz * 9 = 72 MHz */
 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, 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)
 {
 }
 }
 }
 void NVIC_Configuration(void)
 {
 #ifdef  VECT_TAB_RAM
 /* Set the Vector Table base location at 0x20000000 */
 NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
 #else  /* VECT_TAB_FLASH  */
 /* Set the Vector Table base location at 0x08000000 */
 NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
 #endif
 }
 void my_GPIO_Init(void)初始化GPIO
 {
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);
 GPIO_InitStructure.GPIO_Pin= GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5 ;
 GPIO_InitStructure.GPIO_Speed =GPIO_Speed_10MHz;
 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
 
 //GPIO_Init(GPIOC,&GPIO_InitStructure);
 GPIO_Init(GPIOC, &GPIO_InitStructure);
 
 
 
 
 }
 void delay()
 {
 unsigned int x,y;
 for(x=0;x<1000;x++)
 for(y=0;y<1000;y++);
 }
 void main(void)
 {
 char i;
 RCC_Configuration();
 NVIC_Configuration();
 my_GPIO_Init();
 GPIO_SetBits(GPIOC,GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5);
 delay();
 GPIO_ResetBits(GPIOC,GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5);
 delay();
 while(1)
 {
 for(i=0;i<3;i++)
 {
 GPIO_ResetBits(GPIOC,GPIO_Pin_3 | GPIO_Pin_4 |GPIO_Pin_5);LED灯全灭
 GPIO_WriteBit(GPIOC,0x01<<(i+3),Bit_SET);
 点亮一个led左移一个
 delay();
 }
 }
 
 }
 | 
 |