| 
积分11624回帖0西莫币 贡献 威望 存款 阅读权限80最后登录1970-1-1 
 签到天数: 8 天 连续签到: 1 天 [LV.3]偶尔看看II | 
 
| 
本帖最后由 czvmkl 于 2019-5-1 15:32 编辑
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。您需要 登录 才可以下载或查看,没有账号?立即注册 
  
 #include "stm32f10x.h"
 void Delay(u32 count);
 void RCC_HSE_Config(void);
 
 int main(void)
 { GPIO_InitTypeDef  GPIO_InitStructure;
 
 // RCC_HSE_Config();//调用自定义系统时钟函数
 
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);         //使能PA,PD端口时钟
 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                                 //LED0-->PA.8 端口配置
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                 //IO口速度为50MHz
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出
 GPIO_Init(GPIOA, &GPIO_InitStructure);                                         //根据设定参数初始化GPIOA.8
 GPIO_SetBits(GPIOA,GPIO_Pin_8);                                                       //PA.8 输出高
 
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;                             //LED1-->PD.2 端口配置, 推挽输出
 GPIO_Init(GPIOD, &GPIO_InitStructure);                                           //推挽输出 ,IO口速度为50MHz
 GPIO_SetBits(GPIOD,GPIO_Pin_2);                                                  //PD.2 输出高
 while(1)
 {
 GPIO_ResetBits(GPIOA,GPIO_Pin_8);
 GPIO_SetBits(GPIOD,GPIO_Pin_2);
 Delay(1800000);
 GPIO_SetBits(GPIOA,GPIO_Pin_8);
 GPIO_ResetBits(GPIOD,GPIO_Pin_2);
 Delay(1800000);
 }
 }
 
 
 void Delay(u32 count)
 {
 u32 i=0;
 for(;i<count;i++);
 }
 
 void RCC_HSE_Config() //自定义系统时钟函数
 {
 RCC_DeInit(); //将外设RCC寄存器重设为缺省值(初始默认值)
 RCC_HSEConfig(RCC_HSE_ON);//设置外部高速晶振(HSE)
 
 if(RCC_WaitForHSEStartUp()==SUCCESS) //等待HSE起振
 {
 RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置AHB时钟(HCLK)
 RCC_PCLK1Config(RCC_HCLK_Div2);//设置低速AHB时钟(PCLK1)
 RCC_PCLK2Config(RCC_HCLK_Div1);//设置高速AHB时钟(PCLK2)
 RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);//设置PLL时钟源及倍频系数,系统时钟设成36M
 RCC_PLLCmd(ENABLE); //使能或者失能PLL
 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//检查指定的RCC标志位设置与否,PLL就绪
 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//设置系统时钟(SYSCLK)
 while(RCC_GetSYSCLKSource()!=0x08);//返回用作系统时钟的时钟源,0x08:PLL作为系统时钟
 
 }
 }
 | 
 |