OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6506|回复: 2

自己开PD1外部中断,不响应

[复制链接]

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2015-2-27
在线时间
0 小时
发表于 2015-4-22 17:47:04 | 显示全部楼层 |阅读模式
5金钱

如题,在所提供例程 “外部中断实验”的基础上,我另外开了一个PD1的中断,却发现中断服务函数不响应。请教这是为什么?谢谢。


 GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPIO_PinSource1);

          EXTI_InitStructure.EXTI_Line = EXTI_Line1;
          EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; 
          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling;
          EXTI_InitStructure.EXTI_LineCmd = ENABLE;
          EXTI_Init(&EXTI_InitStructure);  //?ù??EXTI_InitStruct?????¨???????????????èEXTI?????÷
          
          NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;   //????°??ü?ù?????????????¨??
          NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x02; //??????????2??
          NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;     //×???????1
          NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;        //?????????????¨??
          NVIC_Init(&NVIC_InitStructure);  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);


服务函数为:

void EXTI1_IRQHandler(void)                //
{

     if(EXTI_GetITStatus(EXTI_Line1)!=RESET)//
     {

      TEST_LED=~TEST_LED;             //
      
      EXTI_ClearITPendingBit(EXTI_Line1);//
     }
}


TEST_LED 是我自己设置的一个IO 方便测试,响应后反转。谢谢大家

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2164

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5757
金钱
5757
注册时间
2013-11-22
在线时间
1208 小时
发表于 2015-4-22 21:02:48 | 显示全部楼层
AFIO时钟先打开
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
然后你的PD1设置上下拉模式了没?
回复

使用道具 举报

9

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2015-2-27
在线时间
0 小时
 楼主| 发表于 2015-4-24 13:19:11 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
谢谢您~我已经解决了 是一个很蠢的原因。不过您说的这个确实也很容易忽略掉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 11:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表