完善资料让更多小伙伴认识你,还能领取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 之后就退出大循环了,下次进不去了
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1064 浏览 1 评论
1885 浏览 0 评论
1863 浏览 1 评论
3286 浏览 5 评论
3613 浏览 9 评论
1064浏览 1评论
1888浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1391浏览 1评论
1885浏览 0评论
1205浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-11 14:13 , Processed in 0.800821 second(s), Total 78, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
12352