你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断...
[复制链接]
CLW_WEI
提问时间:2012-8-21 23:06 /
我在设计中要利用__disable_irq();__enable_irq()来实现原子操作,防止中断与正常运行程序同时访问数据造成不一致,但是这个是暂时屏蔽全局中断的。我系统中有个最高优先级的是不能屏蔽太久的。有没有什么函数是可以暂时屏蔽某个中断的(如EXIT中断,需要在屏蔽时来的中断在退出屏蔽之后可以响应)
赞
0
收藏
0
评论
6
分享
发布时间:2012-8-21 23:06
举报
请先
登录
后回复
6个回答
zoozo
回答时间:2012-8-22 08:20:05
a0a.1 0b0c
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
这样的话,自己手动写个函数好了,禁止不用的中断!
赞
0
评论
回复
支持
反对
xiaodc88
回答时间:2012-8-22 09:09:18
a0a.1 0b0c
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
用操作系统的互斥也可以吧
赞
0
评论
回复
支持
反对
CLW_WEI
回答时间:2012-8-22 09:33:16
a0a.1 0b0c
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
禁止某个中断是可以,但是禁止期间有来中断,重新打开后这个中断是不会响应的
赞
0
评论
回复
支持
反对
废鱼
回答时间:2012-8-22 14:23:36
a0a.1 0b0c
RE:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
用关闭中断标志位的方式.
赞
0
评论
回复
支持
反对
CLW_WEI
回答时间:2012-8-22 21:51:26
a0a.1 0b0c
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
*******************************************************************************
* Function Name : __set_BASEPRI.
* Description : 屏蔽value中断优先级等级下的中断.
* Input : None.
* Output : None.
* Return : None.
*******************************************************************************/
/*void __set_BASEPRI(uint32_t value)
{
__ASM volatile ("MSR basepri, %0" : : "r" (value) );
}*/
这个函数可以关闭一定优先级下的所有中断,但关闭后有中断到来退出关闭之后是否可以响应,不得而知啊,有谁知道呢?
赞
0
评论
回复
支持
反对
zykzyk-93033
回答时间:2012-8-22 21:55:50
a0a.1 0b0c
RE:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
读取中断标志,应该是可以的吧!
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
RE:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
回复:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数
* Function Name : __set_BASEPRI.
* Description : 屏蔽value中断优先级等级下的中断.
* Input : None.
* Output : None.
* Return : None.
*******************************************************************************/
/*void __set_BASEPRI(uint32_t value)
{
__ASM volatile ("MSR basepri, %0" : : "r" (value) );
}*/
这个函数可以关闭一定优先级下的所有中断,但关闭后有中断到来退出关闭之后是否可以响应,不得而知啊,有谁知道呢?
RE:除了__disable_irq();__enable_irq();之外还有没其他暂时屏蔽中断的函数