- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ucOS-I范例分析_01
嵌入式操作系统ucOS-II分析;ucOS-II应用程序基本结构;一些重要的ucOS-II API;1)OSTaskCreate函数 ;2)OSTaskSuspend函数 ;3)OSTaskResume函数 ;4)OS_ENTER_CRITICAL宏 ;5)OS_EXIT_CRITICAL宏 ;6)OSTimeDly函数 ;ucOS-II范例的源码分析;INCLUDES.H ;不依赖于编译的数据类型 ;全局变量 ;uCOS_II.H中有以下定义: ;uCOS_II.C中有以下定义: ;当编译器处理其他.C文件时,头文件变成了如下的样子,因为OS_GLOBAL没有定义,所以OS_EXT被定义为extern。
extern INT32U OSIdleCtr;
extern INT32U OSIdleCtrRun;
extern INT32U OSIdleCtrMax;
在这种情况下,不产生内存分配,而任何 .C文件都可以使用这些变量。这样的就只需在 .H 文件中定义一次就可以了。;OS_ENTER_CRITICAL() 和 OS_EXIT_CRITICAL();基于PC的服务 ;字符显示 ;时间度量 ;测量PC_DisplayChar()的执行时间(us);应用 μC/OS-II 的范例 ;IDE中编译选项;IDE中编译选项;IDE中编译选项;例1;main() ;main()程序;OSInit()初始化【在OS_CORE.C中定义】 ;OSInit()初始化(续);OS_InitMisc()初始化变量 ;OS_InitRdyList()初始化任务就绪列表 ;OS_InitTCBList()初始化任务控制块列表;建立其它任务的任务 TaskStart() ;建立其它任务的任务 TaskStart()(续);测试CPU速度 ;在屏幕随机位置显示任务号(0~9) ;例1的运行结果;例2;μC/OS-II stack checking ;main() ;例2中的Main()函数 ;TaskStart();TaskStart()的伪码 ;TaskStart()的伪码(续);创建2个邮箱;TaskStartCreateTasks(void);时钟显示任务;时钟显示任务程序 ;任务1;任务1程序 ;任务1程序 (续);任务2 ;任务2程序;任务2程序 (续);任务3 ;任务3程序;任务3程序 (续);任务4 ;任务4程序;任务4程序 (续);任务5 ;任务5程序;任务5程序 (续);例2的运行结果;例3;main() ;main()函数 ;TCB扩展数据结构 ;TaskStart() ;TaskStart()的伪码 ;TaskStart()的伪码 (续);为任务1,2,3建立一个消息队列;TaskStartCreateTasks();时钟显示任务;任务1 ;任务1程序 ;任务2 ;任务2程序;任务3 ;任务3程序;任务4 ;任务4程序;任务5 ;任务5程序;OSTaskSwHook()函数 ;用户定义的OSTaskSwHook() ;OSTaskStatHook()函数 ;用户定义的OSTaskStatHook();用户定义的OSTaskStatHook()(续);例3的运行结果;例4;main() ;main()函数 ;TaskStart ()函数;TaskStartCreateTasks()函数;Task ()函数;例4的运行结果
文档评论(0)