完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
现在有 A B C 三个任务, 优先级 A> B > C A 任务在一定条件下删除B 任务, 在一定条件下建立B 任务, B C 任务里面 用相同IIC 去读取一个传感器! 由于IIC 时序怕被打乱, 所以加了临界保护, 代码如下, B C 均有如下代码, 这样合适么? A删除B任务会不会 在临界还没执行完的时候删除,对整个代码有影响么? OS_CRItiCAL_ENTER();
Wind_press = Rresssensor_Read(); //Wind_press(float) OS_CRITICAL_EXIT(); |
|
相关推荐
9个回答
|
|
我有个很简单的想法,不知道可行不。在A删除B的地方也加个临界保护,不知道可不可行
|
|
|
|
为什么? 有什么理由呢?
|
|
|
|
我也不太了解操作系统深层的东西,看一下别人会怎么回复
|
|
|
|
多任务间的通信应该要有锁.互斥锁,信号量之类的保护措施.任务B,C共享了I2C总线.他们之间是要互斥锁的.
A任务不能在B任务未执行完I2C操作时删除B任务.可以加信号量来控制.让任务A了解到B是不是可以被删除了.是的话.立即执行删除B.不是的话..再等等看. |
|
|
|
我加了临界资源保护!
|
|
|
|
临界区不宜长时间进入...能用信号量用信号量吧.
|
|
|
|
两者有什么不同么?都是在等待临界资源执行完!!!!
|
|
|
|
是吧?是哟?两者相同.还有什么意义呢?
|
|
|
|
这边信号量也是等到那边信号释放, 但唯一的是 可以进行认读调度, 是么?
|
|
|
|
只有小组成员才能发言,加入小组>>
807 浏览 0 评论
1159 浏览 1 评论
2534 浏览 5 评论
2867 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2717 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1097浏览 3评论
197浏览 2评论
463浏览 2评论
376浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
458浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 16:25 , Processed in 0.923588 second(s), Total 97, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号