完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[C] 纯文本查看 复制代码
#include "includes.h"OS_STK task_led2_stk[TASK_LED2_STK_SIZE];void Task_Led2( void *p_arg){u32 aa;(void)p_arg;while(1){GPIO_SetBits(GPIOG,GPIO_Pin_14);aa=2000000;while(aa--);GPIO_ResetBits(GPIOG,GPIO_Pin_14);aa=2000000;while(aa--);}}void Task_Start(void *p_arg){u32 aa;(void)p_arg;Systick_Init();OSTaskCreate(Task_Led2,(void *)0,&task_led2_stk[STARTUP_TASK_STK_SIZE-1],LED2_TASK_PRIO);while(1){GPIO_SetBits(GPIOD,GPIO_Pin_13);aa=2000000;while(aa--);GPIO_ResetBits(GPIOD,GPIO_Pin_13);aa=2000000;while(aa--);}} [C] 纯文本查看 复制代码 #include "includes.h"static OS_STK startup_task_stk[STARTUP_TASK_STK_SIZE];int main( void ){BSP_Init();OSInit();OSTaskCreate(Task_Start,(void *)0,&startup_task_stk[STARTUP_TASK_STK_SIZE-1],STARTUP_TASK_PRIO);OSStart();return 0;} [C] 纯文本查看 复制代码 #ifndef _APP_CFG_H__#define _APP_CFG_H__#define STARTUP_TASK_PRIO 4#define LED2_TASK_PRIO 5#define TASK_LED2_STK_SIZE 80#define STARTUP_TASK_STK_SIZE 80void Task_Start(void *p_arg);void Task_Led2( void *p_arg);#endif |
|
相关推荐
17个回答
|
|
|
|
|
|
为什么只有STARTUP任务里的LED灯闪烁 其他的都不闪烁
|
|
|
|
|
|
|
|
恩恩 我把延迟换成OSTimeDlyHMSM(0,0,0,200);就没有问题了 可是任务之间的切换需要我们来操作吗?那样的话这个系统怎么会是实时的呢?
|
|
|
|
不需要,这是操作系统要做的事
|
|
|
|
那我上面的程序为什么我一直执行第一个任务呢?他们两个任务不是应该交替执行吗?
|
|
|
|
或者是说我任务1里面没有延迟 那么其他任务是不是就不能执行了呢?
|
|
|
|
每个任务完成工作后,要给其它任务运行的机会!这样多任务才能全部运行起来,因为CPU只有一个,
|
|
|
|
那么可不可以这样理解,操作系统是把低优先级的任务在高优先级空闲的时候运行???
|
|
|
|
这个还跟你的操作系统的工和类型有关,如果操作系统是按时间片调度,哪一般都是将全部任务的调度工作按顺序做成一个队连,一个一个的来,当然我说的这种只是简单的多任务情况,
有抢占式优先级的系统,在工作时先运行优先级高的任务(中断除外)只有高优先级的任务放掉CPU使用权后,低优先级的任务才能得到CPU的使用权,比如等信号量,延时一段时间等,也可以理解为你的哪种说法,但实际上,其它低优先级的任务并是不是高优先级的任务里运行,需是经过任务调度器将CPU的使用权分配给了低优先级的任务,在下一次任务调度时如果高优先级的任务需要使用CPU (比如延迟时间到了,或等的信号量到来等)任务调度器都会再次将CPU的使用权交由高优先级的任务先使用,所以要让低优先级的任务能分配到CPU的使权,需要要每个任务中合理的分配CPU的使用时间。 |
|
|
|
那UCOSII是哪种类型?是不是可以自己设定啊?
|
|
|
|
不可以自已设定!!!
UC0S|| 是常见的实时操用系统 是由美国人 Jean Labrosse 于1992年完成的,1998年发展到 UCOS_|| 日前常用的是 UCOS_||| |
|
|
|
哦哦 好的 太谢谢各位了哈
|
|
|
|
我终于知道为什么有的人一周就能学会UCOSII了
|
|
|
|
为什么?
|
|
|
|
因为直接上实战,从实战中再去看这个操作系统是怎么实现任务管理的
|
|
|
|
确实是
|
|
|
|
只有小组成员才能发言,加入小组>>
798 浏览 0 评论
1155 浏览 1 评论
2531 浏览 5 评论
2863 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2713 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1086浏览 3评论
195浏览 2评论
461浏览 2评论
374浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
455浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 11:43 , Processed in 1.593229 second(s), Total 111, Slave 91 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号