[STM32F0] ucos 全局变量如何使用

[复制链接]
1373|3
 楼主| ideafor 发表于 2016-4-22 09:15 | 显示全部楼层 |阅读模式
定义了一个全局变量,在两个任务中都想使用,但是呢,有可能发生同时使用的情况。现在想呢其中一个使用的过程中另外一个不能用,用什么样的方法可以做到呢?互斥信号量能做到吗?

尤彼卡 发表于 2016-4-22 19:47 | 显示全部楼层
UCOS不宜使用全局变量
Ryze 发表于 2016-4-22 21:45 | 显示全部楼层
全局变量就意味着使用此变量的函数不可重入,多任务中会常常发生函数重入。因而在操作系统要用互斥信号等方法,让只有唯一个函数使用某个全局变量
ticomi 发表于 2016-4-23 08:53 | 显示全部楼层
这个方式有很多:信号量保护,互斥信号量,锁调度,禁用中断等等都可以。关键是看具体的情况。如果只是简单的赋值或者取值操作,可以考虑禁用中断,毕竟时间很短。如果操作时间过长则可以考虑互斥信号量等。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

149

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部