初级会员

- 积分
- 145
- 金钱
- 145
- 注册时间
- 2021-9-15
- 在线时间
- 74 小时
|
1金钱
void EXTI_Int_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_AHBPeriphClockCmd(POWER1_GPIO_CLK|POWER2_GPIO_CLK|POWER3_GPIO_CLK|POWER6_GPIO_CLK,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE);
GPIO_InitStructure.GPIO_Pin=POWER1_GPIO_Pin;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(POWER1_GPIO_PORT,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=CoinGet_GPIO_Pin;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(POWER2_GPIO_PORT,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=POWER2_GPIO_Pin;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(POWER2_GPIO_PORT,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=POWER3_GPIO_Pin|POWER4_GPIO_Pin|POWER5_GPIO_Pin|POWER7_GPIO_Pin|POWER8_GPIO_Pin|POWER9_GPIO_Pin|POWER10_GPIO_Pin;;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(POWER3_GPIO_PORT,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=POWER6_GPIO_Pin;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN;
GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(POWER6_GPIO_PORT,&GPIO_InitStructure);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource1);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource5);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOF,EXTI_PinSource7);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource8);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource9);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource10);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource11);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOB,EXTI_PinSource15);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC,EXTI_PinSource13);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource14);
EXTI_InitStructure.EXTI_Line=EXTI_Line0|EXTI_Line1|EXTI_Line5|EXTI_Line7|EXTI_Line8|EXTI_Line9|EXTI_Line10|EXTI_Line11|EXTI_Line13|EXTI_Line15;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
EXTI_InitStructure.EXTI_Line=EXTI_Line14;
EXTI_InitStructure.EXTI_Mode=EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_LineCmd=ENABLE;
EXTI_Init(&EXTI_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel=EXTI0_1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPriority=0X02;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel=EXTI4_15_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPriority=0X01;
NVIC_Init(&NVIC_InitStructure);
}
void EXTI4_15_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line14)!= RESET)
{
EXTI_ClearITPendingBit(EXTI_Line14);
Count.cnt2++;
}
}
这里的POWER2_GPIO_Pin是PC14.
只要用SWD模式一仿真Count.cnt2的值就不断增加,不仿真的时候用按键Count.cnt2的值却不增加,我用的数码管显示Count.cnt2的值。
|
|