ucos上多任务实例-流水灯

ucos上多任务实例-流水灯

ID:21134595

大小:164.00 KB

页数:8页

时间:2018-10-19

ucos上多任务实例-流水灯_第1页
ucos上多任务实例-流水灯_第2页
ucos上多任务实例-流水灯_第3页
ucos上多任务实例-流水灯_第4页
ucos上多任务实例-流水灯_第5页
资源描述:

《ucos上多任务实例-流水灯》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、最近入手了GPHONE,所以这两周时间都在玩手机,ARM以及UCOS的学习进度就相对落后了(负罪感),今晚强制自己定下心来,完成了第一个UCOS的实例调试。对于电子初学者来说,流水灯实验就相当于计算机初学者的“HELLOWORLD”,相信大多数电子初学者完成自己的流水灯程序的时候也是成就感满怀的。第一次在PROTEUS上调试UCOS的多任务,所以挑了流水灯这个起步实例来实现;随后在实现了流水灯效果的基础上再扩展实验一下多任务的创建以及调度,添加了数码管的显示功能。成就感满怀啊!!!环境:芯片:ARM7LPC2106  环境:ADS1.2+PROTEUS效果: 相关MAI

2、N.C的代码(有兴趣并需要完整仿真包的朋友可以留言给我):1: 2:/********************************************************************************************************/3: 4:#include"config.h"5:#defineucharunsignedchar6:#defineTASK_STK_SIZE647: 8:OS_STKMain_TaskStk[TASK_STK_SIZE];9:OS_STKLed_TaskStk[TASK_STK_SIZE];1

3、0: 11:voidLED_On(uint8led)12:{13:switch(led){14:case0:15:IOCLR=0x0000FFFF;16:break;17: 18:case1:19:IOCLR=1<<0;20:break;21: 22:case2:23:IOCLR=1<<1;24:break;25: 26:case3:27:IOCLR=1<<2;28:break;29: 30:case4:31:IOCLR=1<<3;32:break;33: 34:case5:35:IOCLR=1<<4;36:break;37: 38:case6:39:IOCLR=1<<

4、5;40:break;41: 42:case7:43:IOCLR=1<<6;44:break;45: 46:case8:47:IOCLR=1<<7;48:break;49:}50:}51:voidLED_Off(uint8led)52:{53:switch(led){54:case0:55:IOSET=0x0000FFFF;56:break;57: 58:case1:59:IOSET=1<<0;60:break;61: 62:case2:63:IOSET=1<<1;64:break;65: 66:case3:67:IOSET=1<<2;68:break;69: 70:c

5、ase4:71:IOSET=1<<3;72:break;73: 74:case5:75:IOSET=1<<4;76:break;77: 78:case6:79:IOSET=1<<5;80:break;81: 82:case7:83:IOSET=1<<6;84:break;85: 86:case8:87:IOSET=1<<7;88:break;89:}90:}91: 92:voidMain_Task(void*data);93:voidLed_Task(void*pdata);94:/********************************************

6、*************************************************************95:**函数名称:main96:**功能描述:c语言的主函数,由它启动多任务环境97:********************************************************************************************************/98:intmain(void)99:{100:OSInit();101: 102:OSTaskCreate(Main_Task,(void*)0,&Mai

7、n_TaskStk[TASK_STK_SIZE-1],0);//任务1103:OSTaskCreate(Led_Task,(void*)0,&Led_TaskStk[TASK_STK_SIZE-1],1);//任务2104:OSStart();105:return0;106:}107:voidLED_Init(void)108:{109:PINSEL0=0;/*UseGPIOpinsP0.0toP0.15forLEDs*/110:IODIR

8、=0x0000FFFF;/*SetGPIOpinsasoutputs*/111: 112:LED_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。