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

📄 ps2guios.c

📁 ucgui3.90在44b0上的移植
💻 C
字号:
#include "includes.h"

#define TASK_STK_SIZE 	512

#define FONT_WIDTH      8
#define FONT_HEIGHT	16

#define SCR_XSIZE 	(240)
#define SCR_YSIZE 	(320)

/*
**************************************************************************************
*				FUNCTION PROTOTYPES
**************************************************************************************
*/
void Task(void *pdata);
void TaskStart(void *pdata);


/*
**************************************************************************************
*				VARIABLES
**************************************************************************************
*/
OS_STK 		TaskEditStk[2*TASK_STK_SIZE];
OS_STK		TaskStartStk[TASK_STK_SIZE];
OS_STK 		TaskStk[TASK_STK_SIZE];
OS_EVENT        *UartSemPtr;

extern OS_EVENT *KeySemPtr;
extern void	KeyScanTask (void *pdata);
//extern void 	KeyTestTask (void *pdata);
extern void   Ps2ScanTask (void *pdata);
/*
**************************************************************************************
*                              TASK
**************************************************************************************
*/
void TaskEdit(void *pdata)
{
	U16	x = 0,y = 0;
	U8	code;

	WM_SelectWindow(0);
	while(1){
		code = KeyGetKey(0);
		if (code > 31 &&  code <127)
			{
			GUI_DispCharAt(code,x,y);
			x += FONT_WIDTH;
			if( x>(SCR_XSIZE-8) )
				{
				x = 0;
				y+= FONT_HEIGHT;
				if(y>(SCR_YSIZE - FONT_HEIGHT) )
					{
					y = 0;
					GUI_Clear();
					}
				}

			}
		}
}

/*
**************************************************************************************
* 				TaskStart
* Description  : Startup Task
* Arguments    :
* Returns      :
***************************************************************************************
*/
void TaskStart(void *pdata)
{
	U8 	err;
	char	Id0 = '1';
//	char  	Id1 = '2';

	pdata = pdata;			// avoid compiler warnning ......

	SysTmrInit();			// Init INT mode and tmr0
	SysTmrEnable();			// Enable The tmr0
	EnableExtInt4567();		// Enable ExtInt4567

	OSStatInit();			// Initialize uC/OS-II's statistics

	OSTaskCreate(TaskEdit,   (void *)&Id0, &TaskEditStk[2*TASK_STK_SIZE - 1],10);
//	OSTaskCreate(KeyTestTask,(void *)&Id1, &TaskStk[TASK_STK_SIZE - 1],      11);
	while(1){
		OSCtxSwCtr = 0;				// Clear context counter
		OSSemPend(UartSemPtr, 0, &err);
		Uart_Printf("++++++++++++++++++++++++++++++++++++++ ");
		Uart_Printf("OSCPUUsage = %d%% \n",OSCPUUsage);
		OSSemPost(UartSemPtr);
		OSTimeDlyHMSM(0,0,1,0);			// Delay 1s
		}
}
/*
**************************************************************************************
*                              Main
**************************************************************************************
*/
void Main(void)
{
	SysInit();			// Initialize system board
	GUI_Init();			// Initial GUI

	OSInit();			// Initialize operation system
	OSTimeSet(0);			// sys tick  0

	KeyInit(); 			// Init KeyBoard
	Ps2Init();			// Init Ps2 Port

	UartSemPtr = OSSemCreate(1);

	OSTaskCreate(TaskStart,(void *)0,&TaskStartStk[TASK_STK_SIZE -1],0);
	OSStart();
}

⌨️ 快捷键说明

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