原创 uCos2 多任务切换例程(学习笔记)

2009-12-19 10:44 5463 7 10 分类: MCU/ 嵌入式

                                   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://assets-stash.oss-cn-shanghai.aliyuncs.com/album/old-resources/2009/12/19/6d0367b4-a0bb-40cd-b40b-9fc1b49f09fd.rar


文章评论3条评论)

登录后参与讨论

371364118_889898826 2013-5-13 16:48

你能加我QQ吗,371364118

371364118_889898826 2013-5-13 16:46

你好,这个历程,运行之后,发现usart1刚开始,数据是这样的1 1 2 2 3 1 2 3 1 2 3..............,为什么前面有两个1 两个2

12 2009-12-28 20:12

kankan
相关推荐阅读
mc22_862129396 2011-09-15 12:49
解决FPGA配置成功,但不能初始化运行的BUG
摘要:    遇到两次FPGA配置完成,却不能正常运行的问题,一次是ALTERA的A1C3,另一次是XILINX的XC3S700A。两次都是DONE信号的问题。问题虽不大,但却很折腾人,今天在这里作下...
mc22_862129396 2011-09-15 12:41
Code Edit的神器UltraEdit
摘要:      我不是一个专职的程序员,但经常会要写一些单片机底层的code和hdl code,起初用UE,是因为查找和批量修改很方便,而且不会额外的生成一些“垃圾”文件;现在用UE三年多了,一直都...
mc22_862129396 2010-12-29 09:29
ISE与EDK联合设计报错 ERROR:NgdBuild:604 logical block
做一个很简单的测试在ISE的SCH里调用EDK的symbol,EDK的功能也很简单,就是CPU通过串品打印一串字符首先,我建一个ISE工程再建一source  sch类型,并设置为顶层,取名为top....
mc22_862129396 2010-12-22 14:49
EDK12.2中 mch_emc IP的时序问题
mch_emc IP可以将PLB总线时序转为inter 8080时序 下面是我用chipscope抓到的波形Mem_DQ_O_In :  数据输入 Mem_OEN:      读信号  Mem_A: ...
mc22_862129396 2010-12-22 14:29
xilinx FPGA的配制与应用程序引导-范例
两个Xilinx FPGA应用程序引导的范例1、run_in_flash是直接在NOR FLASH里运行程序2、spi_flash_boot是将BIT和bootloader和APP全部固化到SPI F...
mc22_862129396 2010-12-19 13:48
EDK下sram IP的使用
EDK软件的memory and memory controller中有一个xps multi-channel external memory controller(sram/flash)的IP,用来...
广告
我要评论
3
7
1
2
3
4
5
6
7
8
9
0
广告
关闭 热点推荐上一条 /3 下一条