完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我在ucos(2.86) 里面建立三个任务,Task_LED1 Task_LED2 Task_LED3 优先级分别为5,6, 7 这个时候三个任务只能运行Task_LED1, Task_Led2,如果把Task_Led2屏蔽掉的话,Task_Led3可以运行,后来把他们三个的优先级改成6, 8, 10,他们三个都能同时运行,不晓得是怎么回事?又遇到相同问题的人木有? 或者解释一下也行,谢谢了!
void Task_LED1(void *p_arg){p_arg=p_arg; while(1){ LED1_REVERSE;OStimeDlyHMSM(0, 0, 2, 0);}} void Task_LED2(void *p_arg){p_arg=p_arg;while(1){ LED2_REVERSE;OSTimeDlyHMSM(0, 0, 3, 0);}} void Task_LED3(void *p_arg){p_arg=p_arg; while(1){LED3_REVERSE;OSTimeDlyHMSM(0, 0, 5, 0);} } |
|
相关推荐
14个回答
|
|
优先级7有没有被别的任务使用啊
|
|
|
|
|
|
|
|
|
|
明天试试
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我也遇到过类似的问题,三个任务只能运行一个,后来经过调试修改,得出结论是延时和优先级的关系一定得处理好,比如延时高的任务优先级一定要比延时低的任务要高,否则得不到执行,我通过实验得出的结论。此回复不够权威,如果有错请大家多多指教。
|
|
|
|
okokokmarkmark mark
|
|
|
|
为什么优先级改为6、8、10就能都能运行了,和5、6、7没区别额,优先级的次序和延时时间并没有变
|
|
|
|
呵呵 不错 写的蛮好的 最近在自学uc/osII
|
|
|
|
按照你所说的“延时高的任务优先级一定要比延时低的任务要高,否则得不到执行” 我拿学校实验室的板子做了个测试 分别创建Task—LED1一直到Task_LED8 优先级分别对应4 到11 延时时间对应 1秒到8秒 结果LED正常运行。
|
|
|
|
是不是没开启任务调度啊OSStart(),把整个源程序贴出来看看
|
|
|
|
UCOSIII出来了,直接上手UCOSIII 大侠们 呢个推荐学习资料么?
|
|
|
|
只有小组成员才能发言,加入小组>>
683 浏览 1 评论
2117 浏览 5 评论
2428 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2194 浏览 6 评论
2163 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
313浏览 9评论
299浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
433浏览 6评论
299浏览 5评论
347浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-24 00:03 , Processed in 0.838360 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号