完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各路高手,请问一下,在ucosii中的某个任务的死循环中使用return,怎么死机了??
不知道是怎么回事? 直接使用的是 原子ucosii的例程 任务调度 在开始任务中做了如下的修改: void start_task(void *pdata) { OS_CPU_SR cpu_sr=0; pdata = pdata; OSStatinit();//初始化统计任务.这里会延时1秒钟左右 OS_ENTER_CRITICAL();//进入临界区(无法被中断打断) OSTaskCreate(led1_task,(void *)0,(OS_STK*)&LED1_TASK_STK[LED1_STK_SIZE-1],LED1_TASK_PRIO); // OSTaskCreate(led2_task,(void *)0,(OS_STK*)&LED2_TASK_STK[LED2_STK_SIZE-1],LED2_TASK_PRIO); 注释掉了一个任务 //OSTaskSuspend(START_TASK_PRIO);//挂起起始任务. 将挂起开始任务的函数注释了 OS_EXIT_CRITICAL();//退出临界区(可以被中断打断) return; 添加了 return } 其他的地方没有做任何的修改,加了个return 不知道 到了什么状态??? |
|
相关推荐
3个回答
|
|
大哥!!!start_task()里面在你调用return之前要有一个可以引发任务切换的东东啊,哪怕你直接调用OSSched()函数也行啊,你直接return的话根本木有发生任务切换,不死机才怪啊。
|
|
|
|
好像不是这样的 因为 我将程序改为这样还是死机的状态!!!如果将return 注释掉就都正常了!!!! 不知道是什么情况?????
|
|
|
|
return 之后就退出大循环了,下次进不去了
|
|
|
|
只有小组成员才能发言,加入小组>>
815 浏览 0 评论
1162 浏览 1 评论
2536 浏览 5 评论
2871 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2720 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1111浏览 3评论
198浏览 2评论
465浏览 2评论
379浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
462浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 03:58 , Processed in 1.249110 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号