OpenEdv-开源电子网

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

求助!SMT32上电后自动进入中断???

[复制链接]

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2012-10-17
在线时间
0 小时
发表于 2013-5-8 23:08:38 | 显示全部楼层 |阅读模式

这几天遇到这样的一个问题,各种初始化都写好了,在函数中也能触发软件中断,问题是我把板子一通电系统就会打软件中断打开,并自动的执行了中断函数,请问这是怎么回事?如何处理呢?先谢谢朋友们了
附上软件中断初始化程序,大家帮忙看看:

void Main_Init(void)
 {

 SystemInit();     //系统时钟等初始化
 delay_init(72);         //延时初始化
// NVIC_Configuration();   //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
 uart_init(9600);    //串口初始化为9600
 Timer2_Init(50,7199);   //任务调度定时器   定时10MS
 GPIO_All_Init();
 SoftWareHander_Config();
}

/*
 * 函数名:SoftWareHander_Config
 * 描述  :软件中断配置
 * 输入  :无
 * 输出  :无
 * 调用  :内部调用
 */
void SoftWareHander_Config(void)
{
 NVIC_InitTypeDef NVIC_InitStructure;
 EXTI_InitTypeDef EXTI_InitStructure;
 
 
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //使能复用功能时钟
 
 EXTI_InitStructure.EXTI_Line                       =EXTI_Line0;
 EXTI_InitStructure.EXTI_LineCmd                 =ENABLE;
 EXTI_InitStructure.EXTI_Mode                     =EXTI_Mode_Interrupt;
 EXTI_InitStructure.EXTI_Trigger                   =EXTI_Trigger_Falling;   //上升沿
 EXTI_Init(&EXTI_InitStructure);
 
 NVIC_InitStructure.NVIC_IRQChannel             =EXTI0_IRQn;     //外部中断1
 NVIC_InitStructure.NVIC_IRQChannelCmd       =ENABLE;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority   =0X02;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority           =0X01;
 NVIC_Init(&NVIC_InitStructure);
// EXTI_ClearITPendingBit(EXTI_Line0);
  EXTI_ClearFlag(EXTI_Line0);
 
}

 

void EXTI0_IRQHandler(void)
{
 
 if(EXTI_GetFlagStatus(EXTI_Line0) != RESET) //先判断是否使能中断,在判断标志位
 {     
  
   OUTPUT_Col=1;
   EXTI_ClearFlag(EXTI_Line0);   
  // EXTI_ClearITPendingBit(EXTI_Line0);  //清楚中断标志位
 }      

}

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-9 00:41:32 | 显示全部楼层
上电进中断这个貌似没法解决,只能让他进入吧.
STM32这里我也没搞明白,不论你怎么设置,第一次莫名其妙进入中断,这种情况没找到解决办法.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2012-10-17
在线时间
0 小时
 楼主| 发表于 2013-5-9 08:41:11 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我也查了资料也找不到怎么解决,中断标志位什么的都清除了,还是会自己进入,难道是STM32的BUG?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-9 09:50:17 | 显示全部楼层
回复【3楼】alwen:
---------------------------------
表示很郁闷。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2012-10-17
在线时间
0 小时
 楼主| 发表于 2013-5-9 10:26:27 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥,我用 NVIC_ClearPendingIRQ(EXTI_IRQn); 这个上电后就没进入中断情况,你试下看看行不行,有人说是库版本的问题V3.0
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-5-9 15:13:51 | 显示全部楼层
回复【5楼】alwen:
--------------------------------
是么?你用的哪个版本的库?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2386
金钱
2386
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-5-9 17:07:11 | 显示全部楼层
貌似和汇编有关系。。。
态度决定一切
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2012-10-17
在线时间
0 小时
 楼主| 发表于 2013-5-10 17:22:31 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
也是你根据提供库例程,来修改的V3.0
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-21 11:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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