ucosII初识

学UCOSII的思想:不断寻找问题,寻找答案,思考解决;找到问题是根本……

一、初一看,运行流程:

裸机:初始化变量--->主循环前准备--->-主循环(使用状态机优化多任务)

                                                                         |  |

                                                                       中断

UCOSII:初始化------>类似主循环前的准备------------->类似主循环

                                              |  |                                        |  |

                              创建任务-->进入多任务管理     任务调度-->用户任务

                                                                                   | |

                                                                                  中断

ucosii通过定时中断或主动放弃任务,进行任务调度。

二、再看细看UCOSII每个流程的函数结构

一般的函数结构就是这样的:

void main()

{

   ...

  OSInit(); //初始化;

  OSTaskCreat1(); //创建任务1;

   OSTaskCreat2();  //创建任务2;

  ...

  OSStart();  //多任务管理开始;

}


然后粗暴的看了一半 ucosII 2.52源码注释pdf ,下载了mdk版的ucosII三个灯的多任务程序,编译木有错误,大概是些什么文件了解了。


然后遇到了第一个问题,A 任务中一个while(1){……},B任务中也有一个while(1){……},这两个任务是怎么切换的呢。。。卡在这里

然后找资料呗,然后找到这里uCos的多任务实现解决了问题。ohyeah

:systick时钟节拍中断

void SysTick_Handler(void)
{
    OSIntEnter(); 
    OSTimeTick(); //
    OSIntExit(); //在这里切换,具体看上面链接 
}

 



这里是输入:http://www.amobbs.com/thread-5233926-1-1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值