//配置按钮中断线触发方式设置中断配置结构体成员
EXTI_InitStructure.EXTI_Line=EXTI_Line6;//选择外部中断线EXTI_Line0~EXTI_Line18共19根线
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;//设置为中断请求,可以为EXTI_Mode_Interrupt中断请求或者
//EXTI_Mode_Event事件请求
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//触发方式下降沿触发还可以为EXTI_Trigger_Rising上升沿触发或者
//EXTI_Trigger_Rising_Falling上升沿下降沿触发
EXTI_InitStructure.EXTI_LineCmd=ENABLE;//中断线使能ENABLE使能,DISABLE失能
EXTI_Init(&EXTI_InitStructure);//根据参数结构体初始化EXTI中断
EXTI_GenerateSWInterrupt(EXTI_Line6);//产生一个软件中断EXTI_Line6中断允许
//到此中断配置完成,可以写中断处理函数。
while(1)
{
}
}
voidRCC_Configuration(void)
{
//复位RCC外部设备寄存器到默认值
RCC_DeInit();
//打开外部高速晶振
RCC_HSEConfig(RCC_HSE_ON);
//等待外部高速时钟准备好
HSEStartUpStatus=RCC_WaitForHSEStartUp();
//外部高速时钟已经准别好
if(HSEStartUpStatus==SUCCESS)
{
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
FLASH_SetLatency(FLASH_Latency_2);
//配置AHB(HCLK)时钟=SYSCLK
RCC_HCLKConfig(RCC_SYSCLK_Div1);
//配置APB2(PCLK2)钟=AHB时钟
RCC_PCLK2Config(RCC_HCLK_Div1);
//配置APB1(PCLK1)钟=AHB1/2时钟
RCC_PCLK1Config(RCC_HCLK_Div2);
//配置ADC时钟=PCLK21/4
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
//配置PLL时钟==外部高速晶体时钟*98MHz*9MHz=72MHz
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
//配置ADC时钟=PCLK2/4
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
//使能PLL时钟
RCC_PLLCmd(ENABLE);
//等待PLL时钟就绪
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET)
{
}
//配置系统时钟=PLL时钟
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
//检查PLL时钟是否作为系统时钟
while(RCC_GetSYSCLKSource()!=0x08)
{
}
}
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB
|RCC_APB2Periph_AFIO,ENABLE);
//使能GPIOA,GPIOB和AFIO的APB2
}
voidGPIO_Configuration(void)
{
GPIO_InitTypeDefGPIO_InitStructure;//定义配置GPIO的结构体
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;//选中第8个脚
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_Init(GPIOB,&GPIO_InitStructure);//用配置好的结构体初始化GPIOBPB8用于驱动led
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//选中6脚
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//配置浮空输入
GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化GPIOBPB6脚连接外部中断线6的中断源
//所有的端口都有外部中断的能力,为了使用外部中断线,端口必须配置为输入模式
}
评论