示例#1
0
 int main(void)
 {
	u8 key;
	u8 i=0;	
	SystemInit();
	delay_init(72);	     //延时初始化
	NVIC_Configuration();
 	uart_init(9600);
 	LED_Init();
 	KEY_Init();
	LCD_Init();

	POINT_COLOR=RED;//设置字体为蓝色	   
	LCD_ShowString(60,50,"Mini STM32");	
	LCD_ShowString(60,70,"TOUCH TEST");	
	LCD_ShowString(60,90,"ATOM@ALIENTEK");
	LCD_ShowString(60,110,"2011/1/1");	
	LCD_ShowString(60,130,"Press KEY0 to Adjust");	
	Touch_Init();
	delay_ms(1500);
	Load_Drow_Dialog();	  
	while(1)
	{	
	 	key=KEY_Scan();
		if(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下
		{
			Pen_Int_Set(0);//关闭中断
			do
			{
				Convert_Pos();
				Pen_Point.Key_Sta=Key_Up;
				if(Pen_Point.X0>216&&Pen_Point.Y0<16)Load_Drow_Dialog();//清除
				else 
				{
					Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);//画图	    
					GPIOC->ODR|=1<<1;    //PC1 上拉	   
				}
			}while(PEN==0);//如果PEN一直有效,则一直执行
			Pen_Int_Set(1);//开启中断
		}else delay_ms(10);
		if(key==1)//KEY0按下,则执行校准程序
		{
			LCD_Clear(WHITE);//清屏
		    Touch_Adjust();  //屏幕校准 
			Save_Adjdata();	 
			Load_Drow_Dialog();
		}
		i++;
		if(i==20)
		{
			i=0;
			LED0=!LED0;
		}
	};	   
 }
示例#2
0
文件: main.c 项目: orkash/UCOS_Learn
//进入触摸屏校准函数 
 void Load_Adjust_Panel()
 {
  	LCD_Clear(WHITE);//清屏
	Touch_Adjust();  //屏幕校准 
	Save_Adjdata();	 
	Load_Drow_Dialog();
 }
示例#3
0
文件: main.c 项目: orkash/UCOS_Learn
//任务5
//触摸画笔
 void TaskTouch(void *pdata)
 {  LCD_ShowString(10,160,"Touch Panel");
 	while(1)
	{  	GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource1); //触摸中断线映射	  
		if(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下
		{
			Pen_Int_Set(0);//关闭中断
			Convert_Pos();
			Pen_Point.Key_Sta=Key_Up;
			if(Pen_Point.X0>216&&Pen_Point.Y0>304)Load_Drow_Dialog();//清除
			else if(Pen_Point.Y0>180)
			{
				Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);//画图	    
				GPIO_SetBits(GPIOC,GPIO_Pin_1);   
			}		 
			Pen_Int_Set(1);//开启中断	
		}
		 OSTimeDlyHMSM(0,0,0,2);
	};		
 }
示例#4
0
/*
*********************************************************************************************************
* Description: 	Main function
* Arguments  : 	None
* Returns    : 	None
*********************************************************************************************************
*/
int main (void)                       
{
  u8 key;
	
	u8 x0,y0,x1,y1,x2,y2;
	u8 r,a,b;
	unsigned char flag;
	tccolor=Blue;
  SystemInit();
	UART0_Init();
  LCD_Init   ();
	LPC_GPIO0->FIODIR |= 0x00002C0;  										//P0.6 0.7 0.9 Output
	LPC_GPIO2->FIODIR |= 0x00000FF;  										//P2.13 input P2.0...P2.7 Output	 
	Touch_Init();
	LCD_Color(0,0,239,239,White);
	Load_Drow_Dialog();
	LCD_Color(279,0,40,40,White);
	while(1)
	{
		if(len==8)
		{
				len=0;
				flag=data[6];
				switch(flag)
				{
							case 0x01:
								x0=data[0];y0=data[1];x1=data[2];y1=data[3];
								pencolor=colorchange(data[7]);
								LCD_Color(0,0,239,239,pencolor);
								LCD_DrawLine(x0,y0,x1,y1);
								break;
							case 0x02:
								x0=data[0];y0=data[1];x1=data[2];y1=data[3];x2=data[4];y2=data[5];
								pencolor=colorchange(data[7]);
								LCD_Color(0,0,239,239,pencolor);
								LCD_DrawTriangle(x0,y0,x1,y1,x2,y2);
								break;
							case 0x03:
								x0=data[0];y0=data[1];x1=data[2];y1=data[3];
								pencolor=colorchange(data[7]);
								LCD_Color(0,0,239,239,pencolor);
								LCD_DrawRectangle(x0,y0,x1,y1);
								break;
							case 0x04:
								x0=data[0];y0=data[1];r=data[2];
								pencolor=colorchange(data[7]);
								LCD_Color(0,0,239,239,pencolor);
								LCD_DrawCircle(x0,y0,r);
								break;
							case 0x05:
								x0=data[0];y0=data[1];a=data[2];b=data[3];
								pencolor=colorchange(data[7]);
								LCD_Color(0,0,239,239,pencolor);
								LCD_DrawEllipse(x0,y0,a,b);
			}
		}
		key =  KEY_Scan();
		if(Pen_Point.Key_Sta==Key_Down)										//Touch screen is pressed 
		{
			Pen_Int_Set(0);													//Closed interrupt
			do
			{
				Convert_Pos();
				Pen_Point.Key_Sta=Key_Up;
//				Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);				//Drawing	
				if(Pen_Point.Y0>=240)
				{
					Load_Drow_Dialog();
					switch(Pen_Point.X0/40)
					{
						case 0:LCD_Color(279,0,40,40,White);tccolor=Blue;break;
						case 1:LCD_Color(279,40,40,40,White);tccolor=Yellow;break;
						case 2:LCD_Color(279,80,40,40,White);tccolor=Green;break;
						case 3:LCD_Color(279,120,40,40,White);tccolor=Red;break;
						case 4:LCD_Color(279,160,40,40,White);tccolor=Purple;break;
						case 5:LCD_Color(279,200,40,40,White);tccolor=Cyan;break;
					}
				}
		/*		else
				{
						LCD_Color(0,0,239,239,tccolor);
				}*/
						
			}while(PEN==0);                                                  //While the Touch screen is pressing
			Pen_Int_Set(1);													 //Opene the interrupt
		}
		else
			delay1ms(1);
	}
}