完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我在设计中要利用__disable_irq();__enable_irq()来实现原子操作,防止中断与正常运行程序同时访问数据造成不一致,但是这个是暂时屏蔽全局中断的。我系统中有个最高优先级的是不能屏蔽太久的。有没有什么函数是可以暂时屏蔽某个中断的(如EXIT中断,需要在屏蔽时来的中断在退出屏蔽之后可以响应)
|
|
相关推荐
6个回答
|
|
这样的话,自己手动写个函数好了,禁止不用的中断!
|
|
|
|
用操作系统的互斥也可以吧
|
|
|
|
禁止某个中断是可以,但是禁止期间有来中断,重新打开后这个中断是不会响应的
|
|
|
|
用关闭中断标志位的方式.
|
|
|
|
*******************************************************************************
* 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) ); }*/ 这个函数可以关闭一定优先级下的所有中断,但关闭后有中断到来退出关闭之后是否可以响应,不得而知啊,有谁知道呢? |
|
1 条评论
|
|
读取中断标志,应该是可以的吧!
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1950 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1809 浏览 3 评论
4389 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1960 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2463 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 13:03 , Processed in 0.745056 second(s), Total 95, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号