uCos2 多任务切换例程
学习理解信号量的基本用法及多任务的调度方法
********************************************************************************************************
*
* 软件流程:
*
* Task0运行,发送一个信号量A,在for里,获得了这个信号量,并打印字符1,发送信号量B,
* 当再次获取信号量A时,此时已没有信号量A可以获取了,则Task0任务挂起,调度器开始运行下一个优先级最高的且就绪的任务Task1;
*
* Task1运行,在for里,获得了Task0发送的信号量B,并打印字符2
* 当再次获取信号量B时,此时已没有信号量B可以获取了,则Task1任务挂起,调度器开始运行下一个优先级最高的且就绪的任务Task2;
*
* 此时的任务0在等待信号量A,任务1在等待信号量B,都处于挂起状态
*
* Task2运行,在for里,打印字符3,发送信号量A
* 在发送信号量A的时候,调度器发现有优先级更高的任务0在等待信号量A,则任务2被挂起,Task0运行。
*
* 如引往复,在串口终端输出“1 2 3 1 2 3 ......”
*
********************************************************************************************************
符件里是源代码,在STM32硬件上运行。
https://static.assets-stash.eet-china.com/album/old-resources/2009/12/19/6d0367b4-a0bb-40cd-b40b-9fc1b49f09fd.rar
用户1573670 2013-5-13 16:48
用户1573670 2013-5-13 16:46
用户36416 2009-12-28 20:12