ALIENTEK-MINISTM32-UCOSII

所属分类:uCOS/RTOS
开发工具:C/C++
文件大小:1035KB
下载次数:11
上传日期:2012-10-25 15:26:13
上 传 者祥*子
说明:  MInistm32实验板  ucosii  多任务实验
(MInistm32 experimental board ucosii multi-task experimental)

文件列表:
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔 (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\CORE (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\CORE\core_cm3.c (17273, 2010-06-07)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\CORE\core_cm3.h (85714, 2011-02-09)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\CORE\startup_stm32f10x_hd.s (15503, 2011-03-10)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\CORE\startup_stm32f10x_md.s (12765, 2011-03-10)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\css_e.css (2783, 2011-04-03)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\css_j.css (3146, 2011-04-03)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\en (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\f1.png (1145, 2007-02-10)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\f2.png (1458, 2007-02-10)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\f3.png (1039, 2007-02-10)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\f4.png (2335, 2008-01-05)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\f5.png (2479, 2008-01-05)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\f6.png (1436, 2010-08-21)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\layers.png (2401, 2009-03-20)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\rwtest.png (19068, 2008-10-18)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\img\rwtest2.png (8153, 2010-09-13)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\ja (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\doc\updates.txt (3860, 2011-01-15)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns\exfuns.c (2209, 2012-03-09)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns\exfuns.h (845, 2011-11-08)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns\fattester.c (6066, 2011-10-11)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns\fattester.h (812, 2011-10-26)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns\mycc936.c (4946, 2012-03-09)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\exfuns\复件 exfuns.c (10855, 2011-06-29)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\diskio.c (5591, 2012-03-09)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\diskio.h (2438, 2011-01-03)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\ff.c (137687, 2011-05-24)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\ff.h (12138, 2011-01-15)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\ffconf.h (7510, 2011-11-08)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\integer.h (856, 2010-04-24)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\option (0, 2012-07-22)
ALIENTEK MINISTM32 扩展实验14 UCOSII多任务运行LED+KEY+LCD+触摸画笔\FATFS\src\option\cc932.c (249488, 2010-05-09)
... ...

UCOSII实验1:UCOSII-1多任务运行LED+KEY+LCD+触摸画笔 1. 实验目的:测试UCOSII多任务的创建和运行 2. 实现现象:LED0,LED1循环闪烁,LCD部分区域循环变色,触摸屏下半部分具有触摸画板功能,按下KEY0按键可以进入触摸校准界面。 3. 用到的UCOSII函数简析: UCOSII初始化函数:void OSInit (void) 任务创建函数: INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio); 启动任务函数:void OSStart (void); 延时函数 OSTimeDlyHMSM(0,0,0,200); 这里我们着重介绍一下OSTaskCreate()函数和OSTimeDlyHMSM()函数: 这个函数的入口参数是任务指针,任务传递参数,任务堆栈栈顶指针以及任务优先级。 在这里我们介绍一下这几个入口参数的作用: 1) 任务优先级:多任务执行的时候,操作系统必须选择一个任务来执行,因为一个CPU同一时间只能执行一个任务,这里UCOSII是按优先级抢占式规则来选择任务的,所以对于每个任务,都会定义一个优先级,而且优先级是唯一的。 2) 任务堆栈:存储器中按先进后(LIF0)出原则组织的连续存储空间,作用是满足任务切换和相应中断时保存CPU寄存器的内容和任务调用其他函数的需要。这里学过单片机的人都知道中断的时候有一个现场保护的概念,现场保护就是用到堆栈。 定义堆栈的方式: OS_STK TASK_START_STK[START_STK_SIZE]; 其中START_STK_SIZE是我们宏定义的任务堆栈的大小。 3) 任务指针:就是指向任务执行入口地址的指针了。C语言里面函数名字就可以看做函数的入口地址了。 4) 任务传递参数:这个就不用讲解,顾名思义就是传递给任务的参数了。 OSTimeDlyHMSM()函数是非常重要的函数,该函数表面看是进行延时,实际上是使任务运行延时(暂停)一段时间并进行一次任务调度,释放CPU使用权。所以简而言之,当任务运行到延时函数的时候,他将释放CPU使用权,等待延时结束之后重新进入就绪状态。 任务初始化函数在系统启动之后必须先调用此函数初始化UCOSII之后才能调用创建函数OSTaskStart以及启动任务函数OSStart(); 对于启动任务函数OSStart(),UCOSII要求是在调用此函数之前系统必须创建至少一个任务,这里我们就创建了TaskStart任务,在这个任务中,我们完成其他任务的创建。 4. 实验描述 OSTaskCreate()函数创建TaskStart任务,, 在TaskStart()任务中5次调用ucos任务创建函数OSTaskCreate()创建5个任务:TaskLed,TaskLed1,TaskLCD,TaskKey,TaskTouch。然后调用OSTaskSuspend()函数将 TaskStart()任务挂起,因为在5个任务创建后,TaskStart任务该做的事情已经完毕,挂起任务。 TaskLed: LED0每隔500ms状态反转 TaskLed1: LED1每隔200ms状态反转 TaskLCD: LCD上半部分一定区域颜色循环更换 TaskKey: 每隔20ms扫描按键值,当KEY0按下时,进入触摸屏校准界面。 TaskTouch: 每隔2ms扫描触摸屏下半部分的触摸点,并显示在LCD上。也就是我们的触摸画板程序。NOTE:如果触摸屏不准,请按下KEY0进入触摸屏校准程序 注意: 1,本代码可以SWD下载,但是不支持仿真,下载完后,请拔了仿真器.否则可能导致部分功能不正常. 购买:http://shop62103354.taobao.com http://shop62057469.taobao.com 技术支持论坛:www.openedv.com ALIENTEK//广州星翼电子科技有限公司

近期下载者

相关文件


收藏者