完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
=-=我也是个freeRTOS的萌新,我来说一下对信号量跟队列的理解。
对于你说的那个队列跟信号量做通讯,你说用全局变量可以代替,但是整个操作系统都是由 任务跟空闲任务来做的,你全局变量放哪儿...省资源是一会事儿。 但是我在用操作系统的时候很少会定义全局变量的来做标志位,因为每个任务都有自己的优先级,多数都是出于挂起的状态,什么时候给他通知了他什么时候可以进行工作,要是只是说一个全局变量或者队列就可以实现.....也能实现....但是你想想信号量跟队列的通讯的原理不也是这个么....人家只是封装好了,做好了你可以直接拿着用。。。 我也是萌新,大佬勿喷.... |
|
|
|
哇谢谢你的回答,好像确实是这样。
下面是,我从其他论坛和一个老师那里得到的答案: 1都可以的,区别不大。全局变量简单,信号量队列啥的性能优些,因为用全局变量势必任务内有不停的查询+delay,而等待信号量任务直接挂起了。 2.一个task就是一个状态机,一样要用。上了系统只不过是状态机可以简单些。 1、可以用全局变量传递消息。但是要自己解决共享资源之间的互斥问题。 等待信号量和等待一个全局变量变化的区别是,等待信号量变化的程中的CPU会被OS内核调度给其他任务使用。 2、局部可以不用使用状态机而采用容易理解的流程来执行,但状态机在描述任务间调度的高层模型中,仍然很有用。 |
|
|
|
只有小组成员才能发言,加入小组>>
854 浏览 0 评论
1182 浏览 1 评论
2559 浏览 5 评论
2893 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2749 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1169浏览 3评论
213浏览 2评论
481浏览 2评论
394浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
477浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-12 06:39 , Processed in 0.878349 second(s), Total 51, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号