完善资料让更多小伙伴认识你,还能领取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版本是哪个?两个任务优先级是怎样的?
|
|
|
|
创建一个信号量就可以解决
|
|
|
|
只有小组成员才能发言,加入小组>>
490 浏览 0 评论
1030 浏览 1 评论
2411 浏览 5 评论
2732 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2550 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
585浏览 9评论
587浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
695浏览 6评论
563浏览 5评论
602浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-29 06:35 , Processed in 1.180916 second(s), Total 88, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号