⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 app.c

📁 ucosii和ucgui移植到LPC1788上
💻 C
字号:
#include "LPC177x_8x.h"
#include "includes.h"
#include "bsp_init.h"
#include "touch.h"

#include "GUI.h"
#include "GUIDEMO.h"
/*
*********************************************************************************************************
*                                       LOCAL GLOBAL VARIABLES
*********************************************************************************************************
*/

static  OS_STK         App_TaskLEDStk[APP_TASK_LED_STK_SIZE];
static  OS_STK         App_TaskLCDStk[APP_TASK_LCD_STK_SIZE];

#if (GUI_SUPPORT_TOUCH == 1)
static  OS_STK          AppTask_Touch[APP_TASK_Touch_STK_SIZE];
#endif

/*
*********************************************************************************************************
*                                      LOCAL FUNCTION PROTOTYPES
*********************************************************************************************************
*/
static  void  App_Task_LED      (void        *p_arg);
static  void  App_Task_LCD       (void        *p_arg);


#if (GUI_SUPPORT_TOUCH == 1)
static  void  App_TaskTouch (void *p_arg);
#endif


int main(void)
{
	INT8U  os_err;
	
	Bsp_init();
	
	OSInit();

	os_err = OSTaskCreateExt((void (*)(void *)) App_Task_LED,  /* Create the start task.                               */
                             (void          * ) 0,
                             (OS_STK        * )&App_TaskLEDStk[APP_TASK_LED_STK_SIZE - 1],
                             (INT8U           ) APP_TASK_LED_PRIO,
                             (INT16U          ) APP_TASK_LED_PRIO,
                             (OS_STK        * )&App_TaskLEDStk[0],
                             (INT32U          ) APP_TASK_LED_STK_SIZE,
                             (void          * )0,
                             (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));

    os_err = OSTaskCreateExt((void (*)(void *)) App_Task_LCD,
                             (void          * ) 0,
                             (OS_STK        * )&App_TaskLCDStk[APP_TASK_LCD_STK_SIZE-1],
                             (INT8U           ) APP_TASK_LCD_PRIO,
                             (INT16U          ) APP_TASK_LCD_PRIO,
                             (OS_STK        * )&App_TaskLCDStk[0],
                             (INT32U          ) APP_TASK_LCD_STK_SIZE,
                             (void          * ) 0,
                             (INT16U          )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));

    OSStart();                   
}

static  void  App_Task_LED (void *p_arg)
{
    (void)p_arg;

	PINSEL_ConfigPin(BRD_LED_2_CONNECTED_PORT,BRD_LED_2_CONNECTED_PIN,0);
	GPIO_SetDir(BRD_LED_2_CONNECTED_PORT, BRD_LED_2_CONNECTED_MASK, GPIO_DIRECTION_OUTPUT);

	while(1)
	{
	//	OSTimeDlyHMSM(0, 0, 0, 20);
	GPIO_OutputValue(BRD_LED_2_CONNECTED_PORT, BRD_LED_2_CONNECTED_MASK, 0);
	OSTimeDly(400);
	GPIO_OutputValue(BRD_LED_2_CONNECTED_PORT, BRD_LED_2_CONNECTED_MASK, 1);
	OSTimeDly(400);
	}
}

static  void  App_Task_LCD  (void *p_arg){

	OS_CPU_SysTickInit();
	(void)p_arg;
	GUI_Init();

#if (GUI_SUPPORT_TOUCH == 1)
	
	touch_init();
	OSTaskCreateExt(App_TaskTouch,                               /* Create the start task                                    */
                    (void *)0,
                    (OS_STK *)&AppTask_Touch[APP_TASK_Touch_STK_SIZE - 1],
                    APP_TASK_TOUCH_PRIO,
                    APP_TASK_TOUCH_PRIO,
                    (OS_STK *)&AppTask_Touch[0],
                    APP_TASK_Touch_STK_SIZE,
                    (void *)0,
                    OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR);

	_ExecCalibration();
#endif

	PINSEL_ConfigPin(BRD_LED_1_CONNECTED_PORT,BRD_LED_1_CONNECTED_PIN,0);
	GPIO_SetDir(BRD_LED_1_CONNECTED_PORT, BRD_LED_1_CONNECTED_MASK, GPIO_DIRECTION_OUTPUT);


	while(1){
	GPIO_OutputValue(BRD_LED_1_CONNECTED_PORT, BRD_LED_1_CONNECTED_MASK, 0);
	OSTimeDly(400);
	GPIO_OutputValue(BRD_LED_1_CONNECTED_PORT, BRD_LED_1_CONNECTED_MASK, 1);
	OSTimeDly(400);
	GUIDEMO_main();

	}
}


#if (GUI_SUPPORT_TOUCH == 1)
static  void  App_TaskTouch (void *p_arg)
{
    (void)p_arg;

	while(1)
	{
     GUI_TOUCH_Exec();
     OSTimeDlyHMSM(0, 0, 0, 10);
	}
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -