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

📄 test.c

📁 一个小的嵌入式os
💻 C
📖 第 1 页 / 共 2 页
字号:
//==============================================
//filename	:test.c
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:
//==============================================




//test.c file define all chars information.

#include "SPCE061A.h"
#include "LCD_Dis.h"
#include "Lcd320240.h"
#include "GUI.h"
#include "SPLC501_LCD.h"
#include "gps_head.h"
#include "uart.h"
#include "44b0x.h"
#include "Nand.h"
#include "System.h"
#include <string.h>
#include "Flashled.h"
#include "Cn_oS_head.h"
#include "Test.h"
typedef unsigned int WORD;

extern System SYSINFO;//={"cpu ","nand_flash ","nor_flash ","sdram ",1};

extern void gui_test(int x_t, int y_t, char c_t);
extern void display_char_big(int x,int y,char c,int color);
extern System *Sys;
int kaka=24;
int Cn_start=8;





//==============================================
//filename	:
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:
//modify		:20080731
//==============================================
void task(void)
{



Task_Create(task_0,0);		//create the task_0,and the task_0's priority is 0
Task_Create( task_lcd,1);	
Task_Create( task_lcd_1,2);	//
Task_Create( task_light,3);	//create the task_light,and the task_light's priority is 3
	//

Task_Create(shell,4);
Task_Create(task_5,5);
Task_Create(task_6,6);
Task_Create(task_7,7);
Task_Create(task_8,8);
Task_Create(task_9,9);
Task_Create(task_10,10);
Task_Create(task_11,11);//

Task_Create(task_12,12);
Task_Create(task_13,13);
Task_Create(task_14,14);
Task_Create(task_15,15);
Task_Create(task_16,16);
Task_Create(task_17,17);
Task_Create(task_18,18);
Task_Create(task_19,19);
Task_Create(task_20,20);
Task_Create(task_21,21);
Task_Create(task_22,22);
Task_Create(task_23,23);


Cn_oS_Start();				//start Cn.oS

while(1);


}

void task_0(void *pdata)
{

int i;int x,y;
pdata=pdata;
InitUart();
LCD_INIT_CONTROLLER();
Clear_Screen(0x0);
LOGO_UART();
LOGO_LCD();


EXIT_CRITICAL();
//PDATE=0;
while(Cn_start>5)
	{

switch(Cn_start)
{
case 1:	PDATE ^= (1<<7);
case 2: 	PDATE ^= (1<<6);
case 3:  PDATE ^= (1<<5);
case 4:  PDATE ^= (1<<4);
default: Cn_start++;
}
		

i++;
	}
Clear_Screen(0);
display_string(130,15,"BUILD Time:",black);
display_string(130, 30, __DATE__, Reverse);
display_string(240, 30, __TIME__, Reverse);
/*
display_string(2, 25," count=", Reverse);
display_string(2, 10," kaka=", Reverse);
uart_put_string("<><><><><><><><><><><><><><><>\n"); 
uart_put_string("<><><><><><><>I am kaka!><><><><>\n"); 
uart_put_string("<><><><><><><>I am Hacker!<><><><>\n\n\n"); 
uart_put_string("The last build time:");
uart_put_string(__DATE__);uart_put_string(",");
uart_put_string(__TIME__);
uart_put_string("\nInit LCD controller~~~~\n"); 

uart_put_string("Init LCD controller OK!~~~~\n"); 
display_string(130,15,"BUILD Time:",black);
display_string(130, 30, __DATE__, Reverse);
display_string(240, 30, __TIME__, Reverse);

*/
Init_Timer5_start();								//start the timer5 for system click

	display_string(0, 205,"Task0:", Reverse);
	while(1)
		{
		//ENTER_CRITICAL();
			Statistics_For_Load++;			//you can transfer the variable to
		//EXIT_CRITICAL();//statistics the load
			
				
		}
}

//==============================================
//filename	:
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:
//==============================================
void task_light(void *pdata)
{
int i;
pdata=pdata;
	while(1)
		{
			i++;
			light();
			
			uart_put_string("task light.......\n");

		}
}
//==============================================
//filename	:
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:
//==============================================
void task_lcd(void *pdata)
{
int count;int x_t,y_t,i_t;
pdata=pdata;


	while(1)
	{		
		
		Statistics();

		//Display_Variable(0, 225, Statistics_For_Load, Reverse);		
		count++;
		if(count%3==0)
		{
			x_t=0;y_t=15;
			/*find the corresponding task 's delay number
			for(i_t=0;i_t<TASK_NUMBER;i_t++)
				{	
					display_string(x_t, y_t, "        ", black);
					Display_Variable(x_t, y_t, 928, Reverse);
					//Display_Variable(x_t, y_t, T_INFO[i_t].Delay_tick, Reverse);					
					x_t=x_t+25;
					if(x_t>300)
						{
							y_t=y_t+15;
							x_t=0;
						}
				}

				*/
		display_string(10, 15, "Task1:", Reverse);
		
			

		}
		else
			{
					display_string(10, 15, "Task1:", black);
		
			

			}
		Display_Variable(10, 35, count, Reverse);
		Display_Variable(70, 0, kaka, Reverse);
		

		
		Cn_oS_Delay(L1);

	}
}

//==============================================
//filename	:
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:
//==============================================
void task_lcd_10(void *pdata)
{
INT32UN i;
pdata=pdata;

	while(1)
	{
			
		for(i=0;i<0x65535;i++);
		Display_Variable(50, 30, kaka, black);
		
	}	
		
}


//==============================================
//filename	:task_lcd_1.c
//			:this function is for the GPS modul UBLOX-NEO-4S
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080612
//==============================================
void task_lcd_1(void *pdata)
{	
	
	int count=0;	
 	count=count;
	pdata=pdata;
	uart0.a=0;	 						
	display_string(130, 220, "I am kaka,I am hacker!", black);	
	Sys=&SYSINFO;
	display_string(130,1,strcpy(Sys->CPU_ID,"Cn.oS on  ARM"),black); 
	uart_put_string("GPS by kaka....");
	uart_put_string("Waiting for data....."); 	
	uart_put_string("$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F9Z"); 
	while(1)
		{
	if (uart0.a==45)
		{
			uart0.a=0;
		}

	if(gps_flag_temp==1)   //====very Great
		{
			if(gps_a[4]!='G') gps_flag_temp=0;
		}	
	if(gps_flag_temp==1) 
		{
			gps_flag_for_gps_gga_factory=0;
			gps_gga_factory();
			Display_Variable(100, 200, count, Reverse);
			count++;
			gps_flag_for_gps_gga_factory=1;	
			gps_gga_factory();		
		}
	uart_put_string_gps(gps_a);	
	
	count++;
	Display_Variable(70, 35, count, black);
	if(count%3==0)
		{	display_string(70, 15, "Task2:", Reverse);
			uart_put_string("task_lcd_1");
		}
	else
		{
			display_string(70, 15, "Task2:", black);
		}
	Cn_oS_Delay(L2);
		}


	
}

//==============================================
//filename	:it is a copy for task_lcd_1.c
//description	:
//author		:kaka(sn.kaka@yahoo.com)
//date		:
//==============================================
void task_2 (void)
{	int count=0;
	//long b=0;						//useing in time delay
	uart0.a=0;
	
	
	Clear_lcd;
	FontSet(1,1); 					
	PutString(50,1,"GPS by kaka...."); 	
	PutString(20,20,"Waiting for data....."); 
	uart_put_string("GPS by kaka....");
	uart_put_string("Waiting for data....."); 	
	uart_put_string("$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F9Z"); 


	while(1)
	{

	if (uart0.a==45)
		{
		FontSet(1,1); 					
		PutString(1,45,"go for supper!"); 
		uart0.a=0;
		}
		if(gps_flag_temp==1)   //====very Great
		{
			if(gps_a[4]!='G') gps_flag_temp=0;
		}


	
	if(gps_flag_temp==1) {
	gps_flag_for_gps_gga_factory=0;
	gps_gga_factory();
		Clear_lcd;
	PutString(5,0,"TIM:");PutString(50,0,GPGGA.time);
	PutString(5,20,"LAT:");PutString(50,20,GPGGA.latitude);
	PutString(5,40,"N/S:");PutString(50,40,GPGGA.NS_indicator);
	PutString(5,60,"LON:");PutString(50,60,GPGGA.longitude);
	PutString(5,80,"E/W:");PutString(50,80,GPGGA.ew_indicator);
	PutString(5,100,"SAT:");PutString(50,100,GPGGA.satellites_used);
	PutString(5,120,"ALT:");PutString(50,120,GPGGA.altitude);

	Put_variable_t(95,56,count);
	count++;
	gps_flag_for_gps_gga_factory=1;
	
	gps_gga_factory();
		
		}
	uart_put_string_gps(gps_a);
	
	PDATE=~PDATE;
	
	PDATE=-count;
	}
}


//==============================================
//filename	:*.c
//description	:for the Cn.oS test
//			:it is only for test ,so it looks like pell-mell
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080730
//==============================================
void task_5(void *pdata)
{
INT32UN i;
pdata=pdata;

	while(1)
	{
			//uart_put_string("GPS by kaka....");
		while(1)
			{
		
		i++;
		//ENTER_CRITICAL();
			if(i%3==0)
				{
					display_string(10, 50, "Task5:", Reverse);
		uart_put_string("Task5: I am kaka,I am hacker!\n\n");

			}
			
			else{
					display_string(10, 50, "Task5:", black);
				}
		Display_Variable(10, 70, i, black);
		//Display_Variable(50, 30, kaka, Reverse);
		//EXIT_CRITICAL();
		Cn_oS_Delay(L5);
			}	
		}
}

//==============================================
//filename	:*.c
//description	:for the Cn.oS test
//			:it is only for test ,so it looks like pell-mell
//			:I am sorry
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080730
//==============================================
void task_6(void *pdata)
{
INT32UN i;
pdata=pdata;

	while(1)
	{
			
i++;
		
		if(i%3==0)
			{		
				display_string(70, 50, "Task6:", Reverse);
				uart_put_string("	Task6: \n\n");

			}
		else
			{

				display_string(70, 50, "Task6:", black);
			}
		Display_Variable(70, 70, i, black);
		Cn_oS_Delay(L6);
			
		}
}

//==============================================
//filename	:*.c
//description	:for the Cn.oS test
//			:it is only for test ,so it looks like pell-mell
//			:I am sorry
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080730
//==============================================
void task_7(void *pdata)
{
INT32UN i;
pdata=pdata;

	while(1)
	{
		while(1)
			{
		
i++;
		
		if(i%3==0)
			{		
		display_string(130, 50, "Task7:", Reverse);
		uart_put_string("		Task7: \n\n");

		}
		else
			{
			display_string(130, 50, "Task7:", black);
			}
		Display_Variable(130, 70, i, black);
		Cn_oS_Delay(L7);
			}	
		}
}

//==============================================
//filename	:*.c
//description	:for the Cn.oS test
//			:it is only for test ,so it looks like pell-mell
//			:I am sorry
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080730
//==============================================
void task_8(void *pdata)
{
INT32UN i;
pdata=pdata;

	while(1)
	{
			//uart_put_string("GPS by kaka....");
		while(1)
			{
		
i++;
		//ENTER_CRITICAL();
		if(i%3==0)
			{
		display_string(190, 50, "Task8:", Reverse);
		uart_put_string("			Task8: \n\n");

		}
		else
			{

			display_string(190, 50, "Task8:", black);
			}
		Display_Variable(190, 70, i, black);
		//Display_Variable(50, 30, kaka, Reverse);
		//EXIT_CRITICAL();

		Cn_oS_Delay(L8);
			}	
		}
}
//==============================================
//filename	:*.c
//description	:for the Cn.oS test
//			:it is only for test ,so it looks like pell-mell
//			:I am sorry
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080730
//==============================================
void task_9(void *pdata)
{
INT32UN i;
pdata=pdata;

	while(1)
	{
			//uart_put_string("GPS by kaka....");
		while(1)
			{
		
i++;
		//ENTER_CRITICAL();
		if(i%3==0)
			{
		display_string(250, 50, "Task9:", Reverse);
		uart_put_string("Task9: I am kaka,I am hacker!\n\n");

		}
		else
			{

			display_string(250, 50, "Task9:", black);
			}
		Display_Variable(250, 70, i, black);
		//Display_Variable(50, 30, kaka, Reverse);
		//EXIT_CRITICAL();

		Cn_oS_Delay(L9);
			}	
		}
}
//==============================================
//filename	:*.c
//description	:for the Cn.oS test
//			:it is only for test ,so it looks like pell-mell
//			:I am sorry
//author		:kaka(sn.kaka@yahoo.com)
//date		:20080730
//==============================================

⌨️ 快捷键说明

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