/********************************************************************* * * 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); } }
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); } }