OpenEdv-开源电子网

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

外部中断的设置不太明白,望原子师兄指导下

[复制链接]
头像被屏蔽

95

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2011-3-22
在线时间
6 小时
发表于 2011-7-26 11:42:43 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2012-2-24
在线时间
0 小时
发表于 2012-3-20 19:31:08 | 显示全部楼层
回复【楼主位】zhuosifan:
 void Ex_NVIC_Config(u8 GPIOx,u8 BITx,u8 TRIM) 
{
 u8 EXTADDR;
 u8 EXTOFFSET;
 EXTADDR=BITx/4;//得到中断寄存器组的编号
 EXTOFFSET=(BITx%4)*4;
这个为什么要对4求正呢  第二句又求余乘以4呢?就这两句话不理解,你设置这个的根据是什么?
解:个人理解如有误请指教喔!假设GPIOB.3为外部中断输入脚。那么GPIOB中的B=0001,BITx=3(代表I/O端口的位),EXTADDR=BITx/4;EXTOFFSET=(BITx%4)*4;结果:模=0,余数=3.  AFIO->EXTICR[EXTADDR]|=GPIOx<<EXTOFFSET;//这里也就是GPIO=0001,EXTOFFSET=12. 意思是把0001左移12位得bit12~bit15. 而 EXTADDR=0也就是模值,放到AFIO->EXTICR[EXTADDR]中,就是EXTICR0外部配置寄存器0. 一个寄存器只能控制0~3脚故需要四个这样的寄存器。
回复 支持 1 反对 0

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-7-26 12:29:17 | 显示全部楼层
回复【楼主位】zhuosifan:
---------------------------------
这个是根据寄存器里面位的关系特征分析出来的.你可以对照EXTICR的几个寄存器的特征分析下.就清楚了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2011-3-22
在线时间
6 小时
 楼主| 发表于 2011-7-26 16:19:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-7-26 17:16:57 | 显示全部楼层
  看下图.这是4个EXTICR中的第一个.也就是AFIO->EXTICR[0].

    上图可以看出,每个EXTICR寄存器只有低16位有效.而且低十六位每4个位控制一个管脚.而总共有4个EXTICR,所以一共可以控制16个管脚.
    每个管脚由4个位控制,比如EXTI0[3:0],通过设置EXTI0[3:0]为0000~0110,就可以使这个管脚对应PA~PG的x脚.这里的x则是每组IO中的一个.因为每组IO有16个脚,所以x对应0~15,用以设置每组IO的每个脚.
    接下来就好说了,比如,我们要设置PB3为外部中断输入脚,首先x=3,那么对应的就是设置 AFIO->EXTICR[0]的第15~12位为0001.就可以了.
    又比如说,我要设置PG12,那么我们就要设置AFIO->EXTICR[3]的第3~0位为0110,就可以了.

    清楚了吧?其实我的<<不完全手册>>讲得已经很明了了.


我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2011-3-22
在线时间
6 小时
 楼主| 发表于 2011-7-26 17:42:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

头像被屏蔽

95

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
442
金钱
442
注册时间
2011-3-22
在线时间
6 小时
 楼主| 发表于 2011-7-26 17:48:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-7-26 17:55:33 | 显示全部楼层
多练习练习.就好了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2012-3-6
在线时间
0 小时
发表于 2012-3-6 08:56:06 | 显示全部楼层
回复【6楼】zhuosifan:
---------------------------------
不能说不耻下问,应该说请教老师。
回复 支持 反对

使用道具 举报

11

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2012-2-17
在线时间
0 小时
发表于 2012-3-8 10:53:05 | 显示全部楼层
回复【8楼】天毅破天:

---------------------------------
呵呵,就是就是,每次有问题都是先来论坛找下,一般都能找能类似问题的答复
那些年,我们一起走过的日子...
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2012-4-23
在线时间
0 小时
发表于 2012-4-27 16:53:54 | 显示全部楼层
回复【10楼】hhchenxiang:
---------------------------------
呵呵。谢谢。看明白了。。下面的使能IO口复用时钟又有什么作用呢
拼个三年换来美好一生,赚了
回复 支持 反对

使用道具 举报

3

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2015-3-1
在线时间
123 小时
发表于 2015-3-26 14:06:47 | 显示全部楼层
实话说- -我一看到外部中断这就不明白了,感觉好多疑问
- -个性的签名
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2014-12-26
在线时间
0 小时
发表于 2015-5-14 16:07:44 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
PG12(对应的外部中断配置寄存器)不是AFIO->EXTICR[3]应该是AFIO->EXTICR[4],
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-22 09:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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