完善资料让更多小伙伴认识你,还能领取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()函数创建任务的时候是什么错误导致的任务创建失败。
|
|
|
|
我可不可以把工程发上来你帮我看看哪里错了?
|
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 0 评论
1154 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2713 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1083浏览 3评论
195浏览 2评论
461浏览 2评论
374浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:39 , Processed in 1.075034 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号