完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的问题是:YouTask为啥不能一直循环运行?什么原因?谁能帮我解决了,我就给谁微信发10元红包。拜托各位大神了!代码压缩包见附件。运行环境是VC6.0
[C] 纯文本查看 复制代码 #include "includes.h"#include "vc_init.h" //包含VC初始化文件//-------------------------------------------------------------#define TASK_STK_SIZE 512 //任务堆栈长度OS_STK MyTaskStk[TASK_STK_SIZE];//定义任务堆栈区OS_STK YouTaskStk[TASK_STK_SIZE];OS_STK HerTaskStk[TASK_STK_SIZE];INT8U err;OS_EVENT *Semp;void MyTask(void *pdata); //声明一个任务void YouTask(void *pdata);void HerTask(void *pdata);/************************主函数*********************************/void main (void){ VCInit(); //初始化VC OSInit(); //初始化uCOS_II //开启定时器线程,20 ticks/s timeSetEvent(1000/OS_TICKS_PER_SEC, 0, OSTickISR, 0, TIME_PERIODIC); Semp = OSSemCreate(1); //创建信号量,初值设为1 OSTaskCreate(MyTask, (void *)0, &MyTaskStk[TASK_STK_SIZE - 1], 1); //创建任务MyTask,优先级为1 OSTaskCreate(YouTask, (void *)0, &YouTaskStk[TASK_STK_SIZE -1], 3);//创建任务YouTask,优先级为3 OSTaskCreate(HerTask, (void *)0, &HerTaskStk[TASK_STK_SIZE -1], 5);//创建任务HerTask,优先级为5 OSStart(); //启动多任务管理 }void MyTask(void *pdata){ OSTimeDlyHMSM(0,0,2,0); for(;;) { printf("MyTask:准备请求信号量……n"); OSSemPend(Semp,0, &err); printf("--------MyTask获得信号量,开始运行啦!--------n"); OSSemPost(Semp);//释放信号量 OSTimeDly(40);//等待2s }}void YouTask(void *pdata){ for(;;) { printf("YouTask开始运行。n"); OSTimeDly(40);//等待2秒 }}void HerTask(void *pdata){ for(;;) { OSSemPend(Semp,0,&err); printf("HerTask开始抱住资源不放○○○n"); while(1); OSSemPost(Semp); OSTimeDly(40);//延时2秒 }} 例5.6.rar (3.41 MB ) |
|
相关推荐
18个回答
|
|
呦~~!这不是“u/CSO-II大神”么,怎么也有不会的。。。
|
|
|
|
用了printf 需要字节对齐,并进入临界区 按照这两条去检查
|
|
|
|
字节对齐是啥意思啊?小弟不懂呢。
|
|
|
|
堆栈字节对齐 8字节
|
|
|
|
哦 你的运行环境是VC 以前没注意,我说的两点是针对单片机的,不过你可以试试了。。。
|
|
|
|
|
|
|
|
我就是不让他运行的,主要是为了看YouTask能不能运行,即看会不会发生优先级反转的问题
|
|
|
|
好吧,我重来不玩这些危险模式,稳定,安全
|
|
|
|
|
|
|
|
其实我是故意假装不会哒,故意考考你们这些小菜鸟们看看能不能解决这么简单的问题。
|
|
|
|
那就给出答案吧!
|
|
|
|
这人兄有意思!!!
|
|
|
|
|
|
答案就是任哲这个水货在VC6.0上移植的代码有问题!
|
|
|
|
|
|
markmark
|
|
|
|
真有意思,简直就是周伯通。。。
|
|
|
|
犀利啊
|
|
|
|
只有小组成员才能发言,加入小组>>
710 浏览 0 评论
1120 浏览 1 评论
2497 浏览 5 评论
2836 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2677 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
662浏览 9评论
674浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
792浏览 6评论
638浏览 5评论
681浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-27 21:25 , Processed in 2.454144 second(s), Total 114, Slave 94 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号