OpenEdv-开源电子网

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

关于STM32上电自动进入中断的问题!

[复制链接]

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2016-9-23
在线时间
52 小时
发表于 2016-10-26 10:27:34 | 显示全部楼层 |阅读模式
1金钱
现在做外部中断实验遇到个问题!就是STM32的外部中断上电就进入!因为我在中断服务函数里写了进入一次中断点亮一次LED灯!现在每次STM32上电都先闪几下。。。
现在我是在初始化之前加了个延时避免的。。。。有什么其他方法吗。。。。

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2016-10-27 22:12:57 | 显示全部楼层
你下载我们的外部中断实验,测试下看看,应该不会进入才对啊。
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2016-9-23
在线时间
52 小时
 楼主| 发表于 2016-10-28 09:10:28 | 显示全部楼层
本帖最后由 silentk 于 2016-10-28 09:13 编辑
正点原子 发表于 2016-10-27 22:12
你下载我们的外部中断实验,测试下看看,应该不会进入才对啊。

我是从那上面改过来的!IO口设置为浮空!中断线设置为边沿触发!         
        GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource1);
          EXTI_InitStructure.EXTI_Line=EXTI_Line1;
          EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;       
          EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
          EXTI_Init(&EXTI_InitStructure);



中断服务函数
void EXTI1_IRQHandler(void)
{
        if(EXTI_GetITStatus(EXTI_Line1) != RESET)
        {
                delay_ms(2);
                if(GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2) == GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_1))
                {
                        LED0=0;
                        delay_ms(10);
                        LED0=1;       
                        printf("\r\n<<<Encoder1&#207;ò×ó×aá&#203;ò&#187;&#184;&#241;\r\n");               
                }
                else
                {       
                        LED1=0;
                        delay_ms(10);
                        LED1=1;       
                        printf("\r\nEncoder1&#207;òóò×aá&#203;ò&#187;&#184;&#241;>>>\r\n");
                }       
                EXTI_ClearITPendingBit(EXTI_Line1);       
        }         
}



现象是上电的瞬间LED0会闪一下!我想是不是上电瞬间有脉冲它直接进入了中断去判断电平了。。。



回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13100
金钱
13100
注册时间
2012-11-26
在线时间
3811 小时
发表于 2016-10-28 09:17:06 | 显示全部楼层
silentk 发表于 2016-10-28 09:10
我是从那上面改过来的!IO口设置为浮空!中断线设置为边沿触发!         
        GPIO_EXTILineConfig(GPIO ...

初始化中断的时候,有没有清除中断标志位?

没有的话,初始化完就清除试试
学无止境
回复

使用道具 举报

2

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2016-9-23
在线时间
52 小时
 楼主| 发表于 2016-10-28 09:41:59 | 显示全部楼层
本帖最后由 silentk 于 2016-10-28 09:44 编辑
jermy_z 发表于 2016-10-28 09:17
初始化中断的时候,有没有清除中断标志位?

没有的话,初始化完就清除试试

刚在中断初始化后面加了清除中断标志位!还是没有效果 0.0 上电依然会闪一下 0.0 目前只有在初始化之前加个延时才有效果。。。
回复

使用道具 举报

7

主题

247

帖子

0

精华

高级会员

Rank: 4

积分
745
金钱
745
注册时间
2016-1-20
在线时间
78 小时
发表于 2016-10-28 13:08:36 | 显示全部楼层
直接给管脚外面接一个上拉或者下拉试试。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 12:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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