你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
回复:除了__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();之外还有没其他暂时屏蔽中断的函数