OpenEdv-开源电子网

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

请教NVIC_ICPR相应中断位清除的问题!

[复制链接]

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2011-6-25
在线时间
1 小时
发表于 2011-11-23 21:37:45 | 显示全部楼层 |阅读模式
我在写串口程序时,对串口中断初始化(没用原子的初始化程序),我按照《STM321f0xx编程手册》来的,可是串口的优先级寄存器和中断清除挂起寄存器不能写入,能不能请教一下:在操作这两个寄存器时应该注意什么?
需要学得东西太多
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2011-6-25
在线时间
1 小时
 楼主| 发表于 2011-11-23 22:15:42 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥是说得先设置分组才能对优先级寄存器操作么?那中断挂起清除寄存器怎么操作呢?也需要先设置分组么?代码里没有清除挂起的部分啊!
需要学得东西太多
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-23 23:00:46 | 显示全部楼层
回复【3楼】竹叶青:
---------------------------------
中断挂起和分组无关!
中断有状态标志,看STM32参考手册就知道了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2011-6-25
在线时间
1 小时
 楼主| 发表于 2011-11-24 08:09:53 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥是这样的:我往NVIC_ICPR1中写了0x01<<5,是想清除还未允许中断的串口中断,而后再允许串口中断,即操作NVIC_ISER1。可是我在软件仿真的时候是可以清除该位的,但是用JTAG仿真的时候就不知道为什么不能清除了
NVIC.bmp
需要学得东西太多
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-11-24 09:02:14 | 显示全部楼层
这个我也不知道原因了....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2011-6-25
在线时间
1 小时
 楼主| 发表于 2011-11-24 14:19:09 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
哦,不过还是谢谢原子大哥
需要学得东西太多
回复 支持 反对

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
84
金钱
84
注册时间
2011-6-25
在线时间
1 小时
 楼主| 发表于 2011-12-2 22:13:20 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
原子哥,问题解决了,在这分享一下原因:
在USART的TC为置位时,如果设置了TCIE位,则会申请中断。若中断一直没执行,就会一直在Pending。即使在此时清除NVIC_ICPR,还会被TC位再申请中断。如果清除TC,再清除NVIC_ICPR就能清除相应的Pending了。
当设置TCIE位时会置位TC位。
需要学得东西太多
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2011-12-3 01:49:36 | 显示全部楼层
回复【8楼】竹叶青:
---------------------------------
学习了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 14:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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