完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
求大神帮看看这个程序,为什么只有启动任务是运行的,TASK1和TASK2在串口一点显示都没有。。
#include #include "hw_config.h" #include "STM32f10x.h" #include #include "os_cpu.h" #include #include #include "usart.h" #define APP_TASK_STK_SIZE 512 static OS_STK AppTask1Stk[APP_TASK1_STK_SIZE];//????1???? static OS_STK AppTask2Stk[APP_TASK2_STK_SIZE];//????2???? static void AppTaskCreate(void *p_arg); static void AppTask1(void *p_arg); static void AppTask2(void *p_arg); INT8U err; OS_EVENT *Str_Box; char *s="Hollo!"; char* ss; /***************************************************************************** ** ????????: int main(void) ** ?????è??: ?÷???????? ** ????????: ?? ** ????????: ?? *****************************************************************************/ int main (void) { SysTick_Configuration(); //?????¨?±?÷?????? USART_Configuration(); //?®???????? OSInit(); //usos ii?????? printf("Create Task Start;rn"); OSTaskCreate(AppTaskCreate, (void *)0, (OS_STK *)&AppTask1Stk[APP_TASK_STK_SIZE-1], 0);//???¨???? if(err==OS_NO_ERR) {USART_Send_Str("AppTask Created seccuss;rn");} //???¨????1???? else {USART_Send_Str("AppTask1 Created Fault;rn");} //???¨????1?§°? USART_Send_Str("Create a Mbox;rn"); Str_Box=OSMboxCreate((void*)0); OSStart(); //?????????÷?? } /********************************************************************************************************* ** ????AppTask ********************************************************************************************************/ static void AppTaskCreate(void *p_arg) { p_arg=p_arg; OSTaskCreate(AppTask1, (void *)0, (OS_STK *)&AppTask1Stk[APP_TASK1_STK_SIZE-1], 1); OSTaskCreate(AppTask2, (void *)0, (OS_STK *)&AppTask2Stk[APP_TASK2_STK_SIZE-1], 2); while(1) { OSTimeDlyHMSM(0,0,200,0); } } /***************************************************************************** ** ????????: static void AppTask1 (void *p_arg) *****************************************************************************/ static void AppTask1 (void *p_arg) { p_arg=p_arg; while(1) { printf("Task A send to Taske B a message,it is Hollo;rn"); OSMboxPost(Str_Box,s); OSTimeDlyHMSM(0,0,200,0); } } /***************************************************************************** ** ????????: static void AppTask2 (void *p_arg) *****************************************************************************/ static void AppTask2 (void *p_arg) { p_arg=p_arg; while(1) { printf("Task A receive a message;rn"); ss=OSMboxPend(Str_Box,10,&err); if(err==OS_NO_ERR){printf("Task B reveive success;rn");}else{printf("no success;rn");} USART_Send_Str(ss); printf("rn"); OSTimeDlyHMSM(0,0,200,0); } } /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/ |
|
相关推荐
2个回答
|
|
|
把err打印出来,看一下是在调用OSTaskCreate()函数创建任务的时候是什么错误导致的任务创建失败。
|
|
|
|
|
|
我可不可以把工程发上来你帮我看看哪里错了?
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1018 浏览 1 评论
1849 浏览 0 评论
1830 浏览 1 评论
3254 浏览 5 评论
3581 浏览 9 评论
1021浏览 1评论
1850浏览 1评论
如何知道嵌入式电子控制单元 (ECU) 中的RAM使用情况?
1360浏览 1评论
1852浏览 0评论
1178浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 03:39 , Processed in 0.859225 second(s), Total 76, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1535