完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛扫一扫,分享给好友
|
ucos 中
任务0执行while(1) { POINT_COLOR = RED; LCD_ShowString(10,20,"LED0 Task Run"); } 任务1执行 while(1) { POINT_COLOR = GREEN; LCD_ShowString(10,40,"LED1 Task Run"); } 当任务0 执行 LCD_ShowString 打印到一半被切换到任务1 然后返回任务0后,POINT_COLOR 的颜色已经不是原来的RED。 有什么好的方法保证POINT_COLOR在各个任务原来的值呢 |
|
相关推荐
5个回答
|
|
|
调用显示的时候,禁止任务调度。就可以保证。
|
|
|
|
|
|
原子哥说禁止调度器固然可以 ,但是这样做会让时钟节拍任务PEND不到信号量,时基计数就不准了。我看你两个任务间没有进行切换,应该是时间片轮转调度的吧。你可以尝试把两个任务分配多一些时间片,或则两个任务间用信号量通信
|
|
|
|
|
|
用信号量就可以了,任务0处理完释放信号让任务1去继续处理,不打断彼此
|
|
|
|
|
|
ucos版本是哪个?两个任务优先级是怎样的?
|
|
|
|
|
|
创建一个信号量就可以解决
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1022 浏览 1 评论
1852 浏览 0 评论
1833 浏览 1 评论
3258 浏览 5 评论
3585 浏览 9 评论
1025浏览 1评论
1852浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1362浏览 1评论
1855浏览 0评论
1180浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:41 , Processed in 0.787380 second(s), Total 82, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2521