OpenEdv-开源电子网

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

为什么led_Init();会影响中断的???

[复制链接]

18

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2014-4-18
在线时间
13 小时
发表于 2014-4-29 17:28:26 | 显示全部楼层 |阅读模式
[mw_shl_code=c,true]#include "sys.h" #include "delay.h" #include "usart.h" #include "led.h" #include "exti.h" int main(void) { GPIO_InitTypeDef GPIOE_STURCE; EXTI_InitTypeDef EXTI_GPIOE_PIN4; NVIC_InitTypeDef NVIC_Initstruce ; GPIOE_STURCE.GPIO_Mode = GPIO_Mode_IPU; GPIOE_STURCE.GPIO_Pin = GPIO_Pin_4 ; GPIOE_STURCE.GPIO_Speed = GPIO_Speed_2MHz ; EXTI_GPIOE_PIN4.EXTI_Line = EXTI_Line4 ; EXTI_GPIOE_PIN4.EXTI_LineCmd = ENABLE ; EXTI_GPIOE_PIN4.EXTI_Mode = EXTI_Mode_Interrupt ; EXTI_GPIOE_PIN4.EXTI_Trigger = EXTI_Trigger_Falling ; NVIC_Initstruce.NVIC_IRQChannel = EXTI4_IRQn ; NVIC_Initstruce.NVIC_IRQChannelCmd = ENABLE ; NVIC_Initstruce.NVIC_IRQChannelPreemptionPriority = 0x02; NVIC_Initstruce.NVIC_IRQChannelSubPriority = 0x02; LED_Init(); GPIO_Init(GPIOE , &GPIOE_STURCE ); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE);//????PORTA,PORTE?±?? RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); //?????????????±?? GPIO_EXTILineConfig(GPIO_PortSourceGPIOE , GPIO_PinSource4 ); EXTI_Init(&EXTI_GPIOE_PIN4); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_Init(&NVIC_Initstruce); BEEP_Init(); delay_init(); while(1) { delay_ms(300); LED1 = ~LED1 ; } } void EXTI4_IRQHandler() { LED0 = 0; delay_ms(1000); delay_ms(1000); LED0= 1; EXTI_ClearITPendingBit(EXTI_Line4); } [/mw_shl_code]
请问为什么把LED_Init();放到while语句之前就不能实现外部中断了???初学stm32,请各位大神指教了····
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-4-29 17:55:06 | 显示全部楼层
回复【楼主位】lyf:
---------------------------------
没开启IO时钟你就初始化端口啦?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

18

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2014-4-18
在线时间
13 小时
 楼主| 发表于 2014-4-29 19:47:25 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
刚学stm32,有很多地方都还不了解,不过编译运行能够正常运行,就没留意了。
刚才修改了一下程序,先开启IO时钟再初始化端口,问题决解了。谢谢一楼提醒···
顺便问一下,都是先开始时钟在初始化端口的吗???
回复 支持 反对

使用道具 举报

18

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
177
金钱
177
注册时间
2014-4-18
在线时间
13 小时
 楼主| 发表于 2014-4-29 19:50:43 | 显示全部楼层
回复【2楼】Badu_Space:
---------------------------------
再问一下,如果是先初始化端口再开启时钟有什么后果??不甚感激啊!!!
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-4-30 08:04:54 | 显示全部楼层
回复【4楼】lyf:
---------------------------------
最常见的就是不工作或者工作异常
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-10 08:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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