完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
OS_EVENT *Sem_Event; //创建信号量 (最后面是串口打印数据值,与理想值不符,求指教!!)
int main(void) { uart_init(115200); OSInit(); Sem_Event=OSSemCreate(1); OSTaskCreate(start_task,(void*)0,(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO); OSStart(); } void high_task(void *pdata)//任务一,高优先级任务 { u8 err; while(1) { OStimeDlyHMSM(0,0,0,500); printf("high task Pend Semrn"); OSSemPend(Sem_Event,0,&err); //信号量请求 printf("high task Running!rn"); OSSemPost(Sem_Event); //信号量释放 OSTimeDlyHMSM(0,0,0,500); //延时500ms } } void middle_task(void *pdata)//任务二,中优先级任务 { while(1) { printf("middle task Running!rn"); OSTimeDlyHMSM(0,0,1,0); //延时1S } } void low_task(void *pdata)//任务三,低优先级任务 { static u32 times; u8 err; while(1) { OSSemPend(Sem_Event,0,&err); printf("low task Running!rn"); for(times=0;times<10000000;times++) { OS_Sched(); //任务调度 } OSSemPost(Sem_Event); OSTimeDlyHMSM(0,0,1,0); } } middle task Running! middle task Running! middle task Running! middle task Running! middle task Running! high task Running! middle task Running! high task Pend Sem high task Running! low task Running! middle task Running! high task Pend Sem |
|
相关推荐
1个回答
|
|
本人写的代码与视频一致,我觉得输出结果开始应该是
middle task Running! low task Running! high task Pend Sem! middle task Running! middle task Running! middle task Running! high task Running! 然后才是上图的那个输出 |
|
|
|
只有小组成员才能发言,加入小组>>
716 浏览 0 评论
1120 浏览 1 评论
2499 浏览 5 评论
2837 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2681 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
664浏览 9评论
679浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
792浏览 6评论
640浏览 5评论
681浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 06:03 , Processed in 0.939330 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号