OpenEdv-开源电子网

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

外部中断开启IO口复用时钟,设置IO口与中断线的映射关系问题

[复制链接]

3

主题

7

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-12-26
在线时间
0 小时
发表于 2014-12-27 16:08:38 | 显示全部楼层 |阅读模式
5金钱
今天自己写了一下例程中的实验5,外部中断实验(库函数版),在设置IO口复用的时候发现,PA0口作为外部中断时不开启复用时钟,也可以正常进入中断,但是其他的IO口(PE2,3,4)不开启复用时钟就进不去中断,我写的EXTI初始化代码如下,并且我将战舰开发板例程里的PA0口的GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);注释掉之后程序也可以完美运行,其他的IO口GPIO_EXTILineConfig注释掉就不行了,看了STM32中文参考手册也没找到问题所在,有知道的能不能告诉下原因。
[mw_shl_code=c,true]void exit_init(void) { EXTI_InitTypeDef EXIT_InitStructure; GPIO_Config(); EXIT_InitStructure.EXTI_Line = EXTI_Line0 ; EXIT_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXIT_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; EXIT_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXIT_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource2); EXIT_InitStructure.EXTI_Line = EXTI_Line2; EXIT_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; EXIT_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; EXIT_InitStructure.EXTI_LineCmd = ENABLE; EXTI_Init(&EXIT_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource3); EXIT_InitStructure.EXTI_Line = EXTI_Line3; EXTI_Init(&EXIT_InitStructure); GPIO_EXTILineConfig(GPIO_PortSourceGPIOE,GPIO_PinSource4); EXIT_InitStructure.EXTI_Line = EXTI_Line4; EXTI_Init(&EXIT_InitStructure); }[/mw_shl_code]

最佳答案

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

复用时钟,是不是在其他地方开启了? 看下寄存器状态! 至于后者,总有个默认配置的,默认如果就是你要设置的值,那么不设置也可以。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-12-27 16:08:39 | 显示全部楼层
复用时钟,是不是在其他地方开启了?
看下寄存器状态!
至于后者,总有个默认配置的,默认如果就是你要设置的值,那么不设置也可以。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

7

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-12-26
在线时间
0 小时
 楼主| 发表于 2014-12-28 12:37:58 | 显示全部楼层
回复【2楼】正点原子:
-------------------------
明白了,又看下参考手册,设置PA0的复用时钟时,由于设置的结果是设置外部中断配置寄存器 1(AFIO_EXTICR1) 的EXTI0[3:0]位的值是0000:PA[x]引脚 ,这和复位的默认值是一样的,设置和不设置没差
谢了,原子哥
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 12:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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