OpenEdv-开源电子网

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

新手关于外部中断的问题

[复制链接]

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2012-11-22
在线时间
5 小时
发表于 2015-4-17 18:21:01 | 显示全部楼层 |阅读模式
5金钱

写了一个外部中断的程序,用到的外部中5到9这5个中断源。由于外部中断5-9是一个中断向量,所以我在中断函数里判断是那个中断发生,点亮相应的LED灯。 写完的程序仿真后发现外部中断源5到9任意一个中断源发生后,在中断函数里的判断失去作用,LED灯都会亮,我想不明白什么原因。群里兄弟帮忙分析一下。程序如下:

[mw_shl_code=c,true]void key_init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 |GPIO_Pin_6 |GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOA, &GPIO_InitStructure); } void exit_Configuration(void) { EXTI_InitTypeDef EXTI_InitStructure; key_init(); EXTI_InitStructure.EXTI_Line = EXTI_Line5 | EXTI_Line6 |EXTI_Line7 | EXTI_Line8 | EXTI_Line9; EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXTI_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXTI_InitStructure); EXTI_ClearFlag(EXTI_Line5 |EXTI_Line6 |EXTI_Line7 | EXTI_Line8 |EXTI_Line9); GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5 |GPIO_PinSource6 | GPIO_PinSource7 |GPIO_PinSource8 |GPIO_PinSource9); } //------------------------------------------ void EXTI9_5_IRQHandler(void) { delay_ms(10);//消抖 if(SET==EXTI_GetITStatus(EXTI_Line5)); { SET_LED0; delay_ms(50); } if(SET==EXTI_GetITStatus(EXTI_Line6)); { SET_LED1; delay_ms(50); EXTI_ClearITPendingBi(EXTI_Line5|EXTI_Line6|EXTI_Line7|EXTI_Line8|EXTI_Line9); //清除LINE0上的中断标志位 }[/mw_shl_code]

最佳答案

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

if(SET==EXTI_GetITStatus(EXTI_Line5));后面的分号是多余的
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2015-4-17 18:21:02 | 显示全部楼层
if(SET==EXTI_GetITStatus(EXTI_Line5));后面的分号是多余的
博观而约取,厚积而薄发。
回复

使用道具 举报

44

主题

225

帖子

0

精华

高级会员

Rank: 4

积分
660
金钱
660
注册时间
2013-11-22
在线时间
131 小时
发表于 2015-4-17 18:21:02 | 显示全部楼层
C语言基本功啊,if后面怎么都有分号呢? 如果不是大意写成这样,建议还是好好复习下c语言基本语法
回复

使用道具 举报

10

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2012-11-22
在线时间
5 小时
 楼主| 发表于 2015-4-19 07:04:56 | 显示全部楼层
呵呵批评的是
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-23 11:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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