完善资料让更多小伙伴认识你,还能领取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
|
|
|
|
|
|
真有意思,简直就是周伯通。。。
|
|
|
|
|
|
犀利啊
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1020浏览 1评论
1849浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1359浏览 1评论
1851浏览 0评论
1177浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:55 , Processed in 1.196405 second(s), Total 111, Slave 90 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1901