stm32_-ucos252-ucgui398

所属分类:uCOS/RTOS
开发工具:Visual C++
文件大小:1713KB
下载次数:16
上传日期:2015-04-20 09:33:04
上 传 者4199sishen
说明:  实现ucgui uccos在stm32上的移植综合 进而实现stm32上大型项目的开发
(Achieve ucgui ucos transplant on stm32 thus achieving comprehensive development of large-scale projects on stm32)

文件列表:
stm32_ ucos252 ucgui398 (0, 2015-04-20)
stm32_ ucos252 ucgui398\APP (0, 2015-04-20)
stm32_ ucos252 ucgui398\APP\APP_Inc (0, 2013-08-14)
stm32_ ucos252 ucgui398\APP\APP_Src (0, 2013-08-14)
stm32_ ucos252 ucgui398\BSP (0, 2015-04-20)
stm32_ ucos252 ucgui398\BSP\BSP_Inc (0, 2015-04-20)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\delay.h (1517, 2012-09-13)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\font.h (16156, 2013-08-14)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\led.h (506, 2013-08-14)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\MY_LCD.h (8294, 2013-08-14)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\sys.h (2719, 2012-10-03)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\timer.h (127, 2013-05-27)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\touch.h (1034, 2013-08-15)
stm32_ ucos252 ucgui398\BSP\BSP_Inc\usart.h (1303, 2012-09-13)
stm32_ ucos252 ucgui398\BSP\BSP_Src (0, 2015-04-20)
stm32_ ucos252 ucgui398\BSP\BSP_Src\delay.c (5037, 2012-09-13)
stm32_ ucos252 ucgui398\BSP\BSP_Src\led.c (1235, 2013-08-14)
stm32_ ucos252 ucgui398\BSP\BSP_Src\MY_LCD.c (49467, 2013-08-14)
stm32_ ucos252 ucgui398\BSP\BSP_Src\sys.c (616, 2012-09-16)
stm32_ ucos252 ucgui398\BSP\BSP_Src\timer.c (815, 2013-08-14)
stm32_ ucos252 ucgui398\BSP\BSP_Src\touch.c (6202, 2013-08-15)
stm32_ ucos252 ucgui398\BSP\BSP_Src\usart.c (5099, 2012-10-03)
stm32_ ucos252 ucgui398\CORE (0, 2015-04-20)
stm32_ ucos252 ucgui398\CORE\core_cm3.c (17273, 2010-06-07)
stm32_ ucos252 ucgui398\CORE\core_cm3.h (85714, 2011-02-09)
stm32_ ucos252 ucgui398\CORE\startup_stm32f10x_hd.s (15503, 2011-03-10)
stm32_ ucos252 ucgui398\CORE\startup_stm32f10x_md.s (12765, 2011-03-10)
stm32_ ucos252 ucgui398\GUI (0, 2015-04-20)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias (0, 2015-04-20)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\CCGUIAntiAlias.bat (242, 2004-08-18)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAAArc.c (2838, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAAChar.c (5489, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAAChar2.c (6814, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAAChar4.c (4503, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAACircle.c (4008, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAALib.c (8388, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAALine.c (3369, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAAPoly.c (3584, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_AntiAlias\GUIAAPolyOut.c (2092, 2004-08-19)
stm32_ ucos252 ucgui398\GUI\GUI_Config (0, 2015-04-20)
... ...

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//广州星翼电子科技有限公司

近期下载者

相关文件


收藏者