OpenEdv-开源电子网

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

配置外部中断但是不进去,不知道是怎么回事。。。

[复制链接]

6

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
210
金钱
210
注册时间
2019-7-2
在线时间
32 小时
发表于 2019-11-5 10:28:04 | 显示全部楼层 |阅读模式
10金钱
在做一个外部中断实验,端口为PB8,配置完成后给PB8,但是在进行Debug的时候,一直进不到中断里面,想请原子哥看一下究竟是什么问题。配置代码如下:
  1. void MMA8652_INTInit(void)
  2. {
  3.     NVIC_InitTypeDef NVIC_InitStructure;
  4.         GPIO_InitTypeDef GPIO_InitStructure;
  5.     EXTI_InitTypeDef EXTI_InitStructure;
  6.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO , ENABLE);//Enable GPIOB clock  | RCC_APB2Periph_AFIO
  7.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  8.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  9. //        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  10.         GPIO_Init(GPIOB, &GPIO_InitStructure);//PB8--MMA8652INT2

  11.         // Configure EXTI Line4 to generate an interrupt on falling edge  
  12.     GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource8);//Selects PB8 as EXTI
  13.         EXTI_InitStructure.EXTI_Line = EXTI_Line8;  
  14.         EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;  
  15.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;  
  16.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;  
  17.         EXTI_Init(&EXTI_InitStructure);  

  18.     NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;    //
  19.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority =0;  
  20.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //3
  21.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  22.         NVIC_Init(&NVIC_InitStructure);       
  23. }
复制代码
  1. void EXTI9_5_IRQHandler(void)
  2. {
  3.         if(EXTI_GetITStatus(EXTI_Line8)!= RESET)
  4.         {
  5.                 EXTI_ClearITPendingBit(EXTI_Line8);  
  6.         MMA8652_IT();
  7.         }
  8. }
复制代码
配置完成后是应该进到中断函数里的,但是就是进不去,希望原子哥和大神们能够指导一下,谢谢。

最佳答案

查看完整内容[请看2#楼]

解决了,我是在之前同事工程上面更改的,我使用的PB8引脚在他写的函数里面又重新初始化覆盖掉了导致不灵的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

15

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
210
金钱
210
注册时间
2019-7-2
在线时间
32 小时
 楼主| 发表于 2019-11-5 10:28:05 | 显示全部楼层
正点原子 发表于 2019-11-6 02:23
用我们例程测试,是否正常呢?

解决了,我是在之前同事工程上面更改的,我使用的PB8引脚在他写的函数里面又重新初始化覆盖掉了导致不灵的。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2019-11-6 02:23:32 | 显示全部楼层
用我们例程测试,是否正常呢?
回复

使用道具 举报

12

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
922
金钱
922
注册时间
2018-7-18
在线时间
385 小时
发表于 2019-11-6 08:32:11 | 显示全部楼层
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;

既然是上升沿触发 为什么要上拉输入呢?

回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-28 01:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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