/*********************************************************************
*
*       MainTask
*
**********************************************************************
*/
void MainTask(void) 
{ 
    GUI_Init();
    WM_SetCreateFlags(WM_CF_MEMDEV);  /* Use memory devices on all windows to avoid flicker */
	WM_EnableMemdev(WM_HBKWIN);
	WM_SetCallback(WM_HBKWIN, &_cbBkWin);


	GUI_SetBkColor(GUI_BLUE);
	GUI_SetFont(&GUI_Font16B_1);
	GUI_Clear();


    ahButton[0] = BUTTON_Create(318-52,152,75-21, 20, GUI_ID_ADC,  BUTTON_CF_SHOW );
	BUTTON_SetTextColor(ahButton[0],BUTTON_CI_UNPRESSED,GUI_GREEN);
    BUTTON_SetFont(ahButton[0],&GUI_Font16B_1);
	BUTTON_SetText(ahButton[0],"Inc");
		
	ahButton[1] = BUTTON_Create(318-52,174,75-21, 20,  GUI_ID_DAC,  BUTTON_CF_SHOW );
	BUTTON_SetTextColor(ahButton[1],BUTTON_CI_UNPRESSED,GUI_GREEN);
    BUTTON_SetFont(ahButton[1],&GUI_Font16B_1);
	BUTTON_SetText(ahButton[1],"Dec");

	ahButton[2] = BUTTON_Create(318-52,196,75-21, 20,  GUI_ID_FFT,  BUTTON_CF_SHOW );
	BUTTON_SetTextColor(ahButton[2],BUTTON_CI_UNPRESSED,GUI_GREEN);
    BUTTON_SetFont(ahButton[2],&GUI_Font16B_1);
	BUTTON_SetText(ahButton[2],"Switch");

	ahButton[3] = BUTTON_Create(318-52,218,75-21, 20,  GUI_ID_Spectrum, BUTTON_CF_SHOW );
	BUTTON_SetTextColor(ahButton[3],BUTTON_CI_UNPRESSED,GUI_GREEN);
    BUTTON_SetFont(ahButton[3],&GUI_Font16B_1);
	BUTTON_SetText(ahButton[3],"Spectr");

	
	ahProgbar[0]=PROGBAR_Create(318-52,2,75-21,20,WM_CF_SHOW);
    PROGBAR_SetBarColor(ahProgbar[0],0,GUI_MAGENTA);
    PROGBAR_SetBarColor(ahProgbar[0],1,GUI_RED);
    PROGBAR_SetFont(ahProgbar[0],&GUI_Font16B_1);
	PROGBAR_SetMinMax(ahProgbar[0],0,100);
	WIDGET_SetEffect(ahProgbar[0], &WIDGET_Effect_3D);

	ahScrollbar[0]=SCROLLBAR_Create(0,11,12,217,0,GUI_ID_OSCLevel,WM_CF_SHOW,SCROLLBAR_CF_VERTICAL);
    SCROLLBAR_SetNumItems(ahScrollbar[0],200);
	SCROLLBAR_SetValue(ahScrollbar[0],100);
	
	DispButton();
	DispChInfo();
	ConfigRefresh=0;
	fRefresh =1;
	while(1)
	{ 
	   if(ConfigRefresh == 0) 
	   { 
		  if (fRefresh)
		  {
			  fRefresh = 0;
			  if(g_DSO.HoldEn == 1)
			{		 
			   DispChInfo();	
			}	 
			  
		  }
		  if (g_DSO.HoldEn == 0)
		  {
		    StopADC();	  			 /* 暂停采样 */			 
	 		DispFrame();
			DispChInfo();
			DispCh1Wave();
			FFT_Convert();
		    StartADC();	  			 /* 开始采样 */
		  }
		  PROGBAR_SetValue(ahProgbar[0],OSCPUUsage);
	   }
		GUI_Delay(50); 			 
	}
}
Exemple #2
0
int main(void)
{
    ///////////////////////////////////////////
    uint8_t Key;
    int i;
    ////////////////////////////////////////////////

    brightness = 0x40;//亮度
    contrast   = 0x70;//对比度
    saturation = 0x40;//饱和度
    memset(outbuf,0,64);


    SystemInit();
    //GPIOInit();

    //chumo改版加入
    //Touch_Initializtion();

    Init_NVIC();				//中断向量表注册函数 	
    Init_LED();					//LED初始化
    Init_KEY();					//按键初始化
    Init_IIC();					//24LC02初始化
    Init_TOUCH();				// 触摸屏配置
    //Touch_Initializtion();


    //////////

    UART3_Init(115200);
    PrintStr("=========12345========\r\n");

    //ADC_Init_Ex();
    //Tim3_ETR_Init();
    //Tim4_Init();
    //CAN1_Init(250);

    //	USB_Init();

    //	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);

    /* Configure FSMC Bank1 NOR/SRAM3 */
    //FSMC_SRAM_Init();
    DelayMs(300);
    //InitSSD1963();
    //LcdInitTest();
    LcdInit();

    LcdClear(GRAY0);
    DispButton(button2);
    DisplayButtonUp(2,  2,400,25);   	
    LcdPrintStr("版权所有(C)mmmmmmmmmmmmmmmmmmmm",4,4,BLUE,GRAY0);
    DisplayButtonUp(402,2,478,25);
    LcdPrintf(410,4,BLACK,GRAY0,"%02d:%02d:%02d",12,12,12);
    DisplayButtonDownColor(200, 410, 290, 470, RED);
    DisplayButtonDownColor(412, 410, 502, 470, GREEN);
    LcdPrintStr("删除",230,432,WHITE,RED);
    LcdPrintStr("确认",442,432,BLACK,GREEN);
    LcdFillRec(200,100,502,190,DGREEN);
    DisplayButtonUp(190,90,512,475);
    DelayMs(1000);
    LcdFillRec(190,90,512,475,RED);
    DelayMs(1000);
    LcdFillRec(190,90,512,475,GRAY0);
    DispButton(button2);
    DisplayButtonDownColor(200, 410, 290, 470, RED);
    DisplayButtonDownColor(412, 410, 502, 470, GREEN);
    LcdPrintStr("删除",230,432,WHITE,RED);
    LcdPrintStr("确认",442,432,BLACK,GREEN);
    LcdFillRec(200,100,502,190,DGREEN);
    DisplayButtonUp(190,90,512,475);
    //	Pen_Point.Key_Sta==Key_Up;


    //LcdPrint16bitBmp(gImage, 16, 16, 490, 368 );
    while(1)
    {
        //	if(Pen_Point.Key_Sta==Key_Down)
        //	{
        //		LcdPrintf( 16,16,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDX));
        //		LcdPrintf( 16,32,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDY));
        //	}
        //LcdPrintf( 16,32,BLUE,WHITE,"%d",Touch_GetPhyY());
        //LcdPrintf( 16,16,BLUE,WHITE,"%d",Touch_GetPhyX());

        //	DelayMs(200);
        //	LED1 = ~LED1;


        //LED1=~LED1;
        //DelayMs(50);
        ////////////////////////////////////////
        Key=KEY_Scan();
        if(Pen_Point.Key_Sta==Key_Down)//触摸屏被按下
        {
            Pen_Int_Set(0);				//关闭中断
            do
            {
                LcdPrintf( 16,16,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDX));
                LcdPrintf( 16,32,BLUE,WHITE,"%d",ADS_Read_AD(CMD_RDY));

                Convert_Pos();
                Pen_Point.Key_Sta=Key_Up;
                //GPIOC->ODR|=1<<5;//临时添加
                //	LcdPrintf(16,16,BLUE,BLACK,"%d\n",Pen_Point.X);
                //	LcdPrintf(16,32,BLUE,BLACK,"%d\n",Pen_Point.Y);
                if(Pen_Point.X0>216&&Pen_Point.Y0<48)LcdClear(RED);//清除
                else 
                {
                    Draw_Big_Point(Pen_Point.X0,Pen_Point.Y0);//画图	    
                    GPIOC->ODR|=1<<5;    //PC5 上拉	   
                }  

            }while(PEN==0);//如果PEN一直有效,则一直执行
            Pen_Int_Set(1);//开启中断
        }
        else DelayMs(1);
        if(Key==USER)//USER按下,则执行校准程序
        {
            LcdClear(BlackColor);//清屏
            Touch_Adjust();  //屏幕校准 
            Save_Adjdata();	 
            LcdClear(RED);
        } 
        i++;  
        if(i==1)
        {
            i=0;
            LED1=~LED1;
        }
    }
    ///////////////////////////////////

    /*
       if(_SEC_)
       {
       _SEC_ = 0;

       GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));

       LcdPrintf(300,460,BLACK,GRAY0,"%03d",i);
    //i += 10;
    SetSensors();

    for(u8 i=1; i<=16; i++)
    Printf("No.%d=%d,",i,GetSensorVoltage(i));
    PrintStr("\r\n");
    }
    UART1_SendByte(0x55);
    DelayMs(1);	
    }				  */
}
/*
*********************************************************************************************************
*	函 数 名: _cbBkWin
*	功能说明: 回调函数,最底层的,也就是桌面窗口
*	形    参:WM_MESSAGE* pMsg
*	返 回 值: 无
*********************************************************************************************************
*/
static void _cbBkWin(WM_MESSAGE* pMsg) {

  int NCode, Id;
  switch (pMsg->MsgId) {
 case WM_PAINT:
    break;
 case WM_NOTIFY_PARENT: 
     Id = WM_GetId(pMsg->hWinSrc); 
     NCode = pMsg->Data.v;
      switch (Id) {        
      case GUI_ID_ADC:
	      switch(NCode)
          {
            case WM_NOTIFICATION_RELEASED:
				if (g_DSO.AdjustMode == 0)		   /* 调节幅度放大倍数 */
				{
					AdjustAtt(1, 1);
				}
				else 							    /* 调节上下偏移 */
				{
					DecSampleFreq();  				/* 递增采样频率 */	
				}
				fRefresh = 1;				        /* 请求刷新LCD */
                 break;
          }
        break;				  
	  case GUI_ID_DAC:
	      switch(NCode)
          {
            case WM_NOTIFICATION_RELEASED:
				if (g_DSO.AdjustMode == 0)		   /* 调节幅度放大倍数 */
				{
					AdjustAtt(1, 0);
				}
				else 							    /* 调节上下偏移 */
				{
					IncSampleFreq();				   /* 递减采样频率 */
				}
				fRefresh = 1;				        /* 请求刷新LCD */
                break;
          }
        break;
	  case GUI_ID_FFT:   
	   	  switch(NCode)
          {
            case WM_NOTIFICATION_RELEASED:
				if (g_DSO.AdjustMode == 0)		   
				{
					g_DSO.AdjustMode = 1;
				}
				else
				{
					g_DSO.AdjustMode = 0;
				}
				fRefresh = 1;						/* 请求刷新LCD */
                 break;
          }
        break;
	  case GUI_ID_Spectrum:
	       switch(NCode)
	       {
	         case WM_NOTIFICATION_RELEASED:
                if(SpectrumFlag == 1)
				{
				   GUI_Clear();
				   DispButton();
				   SpectrumFlag = 0;
				   BUTTON_SetText(ahButton[3],"Spectr");
				}
				else
				{
				   GUI_Clear();
				   DispButton();
				   SpectrumFlag = 1;
				   BUTTON_SetText(ahButton[3],"Spetrum2");
				}   
	            break;
	       }
        break;
	   case GUI_ID_OSCLevel:
	         switch(NCode)
            {
                case WM_NOTIFICATION_VALUE_CHANGED:
                    g_DSO.Ch1VOffset = SCROLLBAR_GetValue(ahScrollbar[0]);
                    break;
            }
            break;   
      }
	 break;
 case WM_TOUCH:

     break;
 case WM_DELETE:

     break;
  default:
    WM_DefaultProc(pMsg);
  }
}