OpenEdv-开源电子网

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

关于寄存器外部中断有些不理解

[复制链接]

13

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2018-6-19
在线时间
11 小时
发表于 2018-6-23 11:57:09 | 显示全部楼层 |阅读模式
1金钱
如果要使用外部中断,我看书上要配置很多寄存器,与NVIC相关的寄存器有个结构体里面。(比如ISER ICPR IP 等)还有EXTI控制MDK结构体(比如 IMR EMR PR)这么多的寄存器是不是Ex_NVIC_Config  MY_NVIC_Init 这两个函数都配置好了呢?直接调用即可。那如果是这样的话那这句EXTI->PR=1<<3为什么还有对PR进行操作呢??
新手上路,请多多指教呢.
}Y68P5N)F)EHE@_1[2])OIE.png
DK`$WSHRCO(KB6]5~M[]0]N.png

最佳答案

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

配置归配置, 你这里是发生中断后, 需要清中断标志位, 有什么不可理解的呢
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

1954

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4510
金钱
4510
注册时间
2018-5-11
在线时间
944 小时
发表于 2018-6-23 11:57:10 | 显示全部楼层
配置归配置,
你这里是发生中断后,
需要清中断标志位,
有什么不可理解的呢
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

13

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2018-6-19
在线时间
11 小时
 楼主| 发表于 2018-6-24 10:58:35 | 显示全部楼层
warship 发表于 2018-6-23 11:57
配置归配置,
你这里是发生中断后,
需要清中断标志位,

那为什么不能在那两个函数里面进行操作呢??? 是因为必须要中断进行了才能清除吗?
是那个函数发生过后了才能清除对吗?
回复

使用道具 举报

0

主题

58

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2387
金钱
2387
注册时间
2017-1-15
在线时间
318 小时
发表于 2018-6-24 12:08:33 | 显示全部楼层
进了中断就要清除中断 跟函数执行前后没关系 可以后面
回复

使用道具 举报

31

主题

1954

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4510
金钱
4510
注册时间
2018-5-11
在线时间
944 小时
发表于 2018-6-24 12:10:18 | 显示全部楼层
ihiudf 发表于 2018-6-24 10:58
那为什么不能在那两个函数里面进行操作呢??? 是因为必须要中断进行了才能清除吗?
是那个函数发生过 ...

对的,
必须发生中断了才能清除中断位,
前面那些函数属于对中断系统进行配置,
是事前的准备工作,
两个阶段的事情,怎么可能一并进行呢
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

13

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2018-6-19
在线时间
11 小时
 楼主| 发表于 2018-6-24 14:17:21 | 显示全部楼层
warship 发表于 2018-6-24 12:10
对的,
必须发生中断了才能清除中断位,
前面那些函数属于对中断系统进行配置,

哦哦 感谢,后面应该会调用这两个函数,但是这两个函数里面的东西还是有点看不懂呢。
回复

使用道具 举报

31

主题

1954

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4510
金钱
4510
注册时间
2018-5-11
在线时间
944 小时
发表于 2018-6-24 16:19:02 | 显示全部楼层
ihiudf 发表于 2018-6-24 14:17
哦哦 感谢,后面应该会调用这两个函数,但是这两个函数里面的东西还是有点看不懂呢。

所以强烈建议你从库函数版本学习起。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

13

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2018-6-19
在线时间
11 小时
 楼主| 发表于 2018-6-25 10:41:15 | 显示全部楼层
warship 发表于 2018-6-24 16:19
所以强烈建议你从库函数版本学习起。

学了寄存器版本 库函数一看就看懂了。而且我这几个月必须要对32GPIO  串口 中断 定时器的寄存器有一定了解
回复

使用道具 举报

31

主题

1954

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4510
金钱
4510
注册时间
2018-5-11
在线时间
944 小时
发表于 2018-6-25 12:59:35 来自手机 | 显示全部楼层
ihiudf 发表于 2018-6-25 10:41
学了寄存器版本 库函数一看就看懂了。而且我这几个月必须要对32GPIO  串口 中断 定时器的寄存器有一定了 ...

学习要根据自己的基础先易后难,库函数比较直观,学习库函数上手快,真要了解寄存器,用F12查看一下库函数原型就知道每一步操作了那些寄存器,最后你也会直接操作寄存器了,所以这二者并不矛盾,不要听某些技术派的忽悠,把寄存器搞得多深奥似的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-26 08:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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