完善资料让更多小伙伴认识你,还能领取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版本是哪个?两个任务优先级是怎样的?
|
|
|
|
创建一个信号量就可以解决
|
|
|
|
只有小组成员才能发言,加入小组>>
891 浏览 0 评论
1202 浏览 1 评论
2579 浏览 5 评论
2914 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2776 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1249浏览 3评论
227浏览 2评论
502浏览 2评论
410浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
489浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 11:00 , Processed in 0.976776 second(s), Total 57, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号