新手入门
- 积分
- 28
- 金钱
- 28
- 注册时间
- 2013-8-22
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-6-5 18:13:26
|
显示全部楼层
回复【2楼】ST-FAE-SALE:
---------------------------------
非常感谢你的回答 但是结果还是不行
这是我的代码 按键 是上拉电阻拉高
void EXIT10_GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO初始化结构体
//配置片PD10
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING ;
GPIO_Init(GPIOD, &GPIO_InitStructure); /*PD10 */
}
/**************************************************
外部中断配置
***************************************************/
void EXTI_Configuration(void)
{
EXTI_InitTypeDef EXTI_InitStructure;
EXTI_ClearITPendingBit(EXTI_Line10);
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_Line = EXTI_Line10;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource10);
EXTI_ClearITPendingBit(EXTI_Line11);
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
EXTI_InitStructure.EXTI_Line = EXTI_Line11;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);
GPIO_EXTILineConfig(GPIO_PortSourceGPIOD, GPIO_PinSource11);
}
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //抢占式优先级别设置为无抢占优先级
NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //指定中断源
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //指定响应优先级别1
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //使能外部中断通道
NVIC_Init(&NVIC_InitStructure);
}
void EXTI15_10_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line10) != RESET)
{if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_10)==0){
//添加中断处理程序
// GPIO_SetBits(GPIOB,GPIO_Pin_8);
detectflag=1;
printf("%d success!!!!!!\r\n",detectflag);
EXTI_ClearFlag(EXTI_Line10); //清除中断标志(必须)
EXTI_ClearITPendingBit(EXTI_Line10);
}
}
if(EXTI_GetITStatus(EXTI_Line11) != RESET)
{
if(GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_11)==0){
//添加中断处理程序
detectflag=1;
printf("去去去去去去去去去去去去去去去去去去去去去去去去!!!!!!\r\n");
EXTI_ClearFlag(EXTI_Line11); //清除中断标志(必须)
EXTI_ClearITPendingBit(EXTI_Line11);
}
}
} |
|