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

📄 lcd_disp.c

📁 ARM_CORTEX-M3应用实例开发详解光盘
💻 C
字号:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : GUIDEMO_Dialog.c
Purpose     : Automotive samples
----------------------------------------------------------------------
*/

#include <stddef.h>           /* needed for definition of NULL */
//#include "GUI.h"
//#include "GUIDEMO.h"
#include "..\GUIinc\GUI.h"
#include "..\uCGUIDemo\GUIDEMO.h"

//#include "LCD_ConfDefaults.h"
#include "..\GUIinc\LCD_ConfDefaults.h"  /* valid LCD configuration */

#if GUI_SUPPORT_MEMDEV && GUI_WINSUPPORT

#include "..\GUIinc\WM.h"
#include "..\GUIinc\BUTTON.h"
#include "..\GUIinc\DIALOG.h"
#include "..\GUIinc\LISTBOX.h"
#include "..\GUIinc\EDIT.h"
#include "..\GUIinc\SLIDER.h"
#include "..\GUIinc\radio.h"
#include "..\GUIinc\FRAMEWIN.h"

#include "demo.h"
static void _OnValueChanged(WM_HWIN hDlg, int Id);



/*********************************************************************
*
*       types
*
**********************************************************************
*/


  WM_HWIN hWin;
  WM_HWIN hListBox[8];
		  WM_HWIN text1,text2,text3,text4,text5,text6,text7,text8,bt[4],edit0,edit1,edit2,slider0,rd0;	
  GUI_COLOR DesktopColorOld;
 const GUI_FONT* pFont = &GUI_FontComic24B_1;
 const GUI_FONT* pFont18 = &GUI_FontComic18B_1;
 

//extern  BUTTON_Handle _ahButton[7];

//extern  unsigned char num;
typedef struct {
  unsigned char Id;
  int Time;
} KEYSIM;

/*********************************************************************
*
*       static data
*
**********************************************************************
*/

#if GUIDEMO_LARGE


static const GUI_WIDGET_CREATE_INFO aDialogCreate[] = {
  { FRAMEWIN_CreateIndirect, "NRF24L01", 0,               0,   0, 240, 320, FRAMEWIN_CF_ACTIVE }, //FRAMEWIN_CF_MOVEABLE},
  { BUTTON_CreateIndirect,   "SEND",    GUI_ID_BUTTON0,       0,    236,  120,  55 },
 
  { BUTTON_CreateIndirect,   "CLEAR", GUI_ID_BUTTON2,   120,    236, 120,  55 },
  { EDIT_CreateIndirect,     "",       GUI_ID_EDIT1,    0,   120, 230,  35, EDIT_CF_LEFT, 50 },
  { EDIT_CreateIndirect,     "",       GUI_ID_EDIT2,    0,   190, 230,  35, EDIT_CF_LEFT, 50 },
  
  { TEXT_CreateIndirect,     "Send Text Area",  GUI_ID_TEXT0,   1,   95,  230,  25, TEXT_CF_LEFT },
  { TEXT_CreateIndirect,     "Receive Text Area ",  GUI_ID_TEXT1,     1,   163,  230,  25, TEXT_CF_LEFT },
 
  { TEXT_CreateIndirect,     "2M bps",  GUI_ID_TEXT2,   23,   12,  140,  25, TEXT_CF_LEFT },
  { TEXT_CreateIndirect,     "1M bps",  GUI_ID_TEXT3,     23,   32,  140,  25, TEXT_CF_LEFT },
  
  { TEXT_CreateIndirect,     "",  GUI_ID_TEXT4,     0,   60,  240,  25, TEXT_CF_LEFT },

  { RADIO_CreateIndirect,     "Receive Mode",  GUI_ID_RADIO0,     3,   23,  40,  40, RADIO_TEXTPOS_LEFT,2},
 

 
};


#endif

/*********************************************************************
*
*       static code
*
**********************************************************************
*/
/*********************************************************************
*
*       _cbCallback
*/
static void _cbCallback(WM_MESSAGE * pMsg) {
  int i;  int NCode, Id;  WM_HWIN hDlg, hItem;  hDlg = pMsg->hWin;
  
  switch (pMsg->MsgId) {
    case WM_INIT_DIALOG:
      /* Initialize all widgets */
      #if GUIDEMO_TINY
        EDIT_SetText(WM_GetDialogItem(hWin, GUI_ID_EDIT0), "EDIT");
      #else
        EDIT_SetText(WM_GetDialogItem(hWin, GUI_ID_EDIT0), "EDIT widget 0");
        //EDIT_SetText(WM_GetDialogItem(hWin, GUI_ID_EDIT1), "EDIT widget 1");
      #endif
      {
        #if GUIDEMO_LARGE	             
          
          DesktopColorOld = GUIDEMO_SetBkColor(GUI_BLACK);

         
        #else
          GUI_RECT Rect;
          int x, y, ySize;
          ySize = LCD_GetYSize();
          if (ySize < 120) {
            WM_ResizeWindow(hWin, 0, -24);
          }
          WM_GetWindowRectEx(hWin, &Rect);
          x = (LCD_GetXSize() - (Rect.x1 - Rect.x0 + 1)) >> 1;
          y = (ySize          - (Rect.y1 - Rect.y0 + 1)) >> 1;
          #if GUIDEMO_TINY
            WM_MoveTo(hWin, x, y);
          #else
            WM_MoveTo(hWin, x, y - 4);
          #endif
        #endif
      }
      break;
    case WM_KEY:
      switch (((WM_KEY_INFO*)(pMsg->Data.p))->Key) {
      case GUI_KEY_ESCAPE:
        GUI_EndDialog(hWin, 1);
        break;
      case GUI_KEY_ENTER:
        GUI_EndDialog(hWin, 0);
        break;
      }
      break;
  #if GUIDEMO_LARGE
    case WM_NOTIFY_PARENT:
      Id    = WM_GetId(pMsg->hWinSrc);    /* Id of widget */
      NCode = pMsg->Data.v;               /* Notification code */
      switch (NCode) {
        case WM_NOTIFICATION_RELEASED:    /* React only if released */
          
          if (Id == GUI_ID_BUTTON2) {      /* Clear Button */
            memcpy(status_buf, "", 20);
			memcpy(rx_buf, "", 20);
			TEXT_SetFont(text5,pFont18);
			TEXT_SetText(text5,status_buf);

			EDIT_SetFont(edit2,pFont18);
			EDIT_SetText(edit2,rx_buf);

			memcpy(tx_buf, "", 20);		
			NRF24L01_TXBUF();
			//TEXT_SetFont(text5,pFont);
			//TEXT_SetText(text5,status_buf);
		    RX_Mode();
          }
          
		  else if (Id == GUI_ID_BUTTON0) {      /* Send Mode Button */
		  	memcpy(tx_buf, "1234567890abcdefghij", 20);	  
			//memcpy(tx_buf, "", 20);	  
			memcpy(rx_buf, "", 20);
			EDIT_SetFont(edit2,pFont18);
			EDIT_SetText(edit2,rx_buf);

			NRF24L01_TXBUF();
			memcpy(tx_buf, "", 20);	 
			TEXT_SetFont(text5,pFont);
			TEXT_SetText(text5,status_buf);

		    RX_Mode();
          }
		  else if (Id == GUI_ID_RADIO0) {      /* BAUD SELECT Button */
		  	nrf_baud= RADIO_GetValue(rd0);
			RADIO_SetValue(rd0,nrf_baud);
		    RX_Mode();
          }

          break;
        /*case WM_NOTIFICATION_SEL_CHANGED: // Selection changed
          FRAMEWIN_SetText(hWin, "Dialog - sel changed");
          break;*/ 
	        case WM_NOTIFICATION_VALUE_CHANGED: /* Value has changed */          _OnValueChanged(hDlg, Id);          break;
        default:
          
      }
      break;
  #endif
    default:
      WM_DefaultProc(pMsg);
  }
}


/***********************************************************************       _OnValueChanged*/static void _OnValueChanged(WM_HWIN hDlg, int Id) {  unsigned Index, v;  WM_HWIN hSlider, hEdit; 
}
/*********************************************************************
*
*       public code
*
**********************************************************************
*/
/*********************************************************************
*
*       GUIDEMO_Dialog
*/
void YM3_para(void) {
 
 unsigned char c=1,b=1,cur=0;

 int xCenter = LCD_GET_XSIZE() / 2;
 int key=0;
 //unsigned int Light;
  unsigned char dat[202];
  #if (GUI_SUPPORT_CURSOR|GUI_SUPPORT_TOUCH)
    GUI_CURSOR_Show();
  #endif
  //GUIDEMO_HideInfoWin();
  
  DesktopColorOld = WM_SetDesktopColor(GUI_BLUE);  /* Automatically update desktop window */
  hWin = GUI_CreateDialogBox(aDialogCreate, GUI_COUNTOF(aDialogCreate), _cbCallback, 0, 0, 0);
  FRAMEWIN_SetFont(hWin, &GUI_FontComic18B_1);
  FRAMEWIN_SetClientColor(hWin, GUI_BLACK);
  memcpy(tx_buf, "1234567890abcdefghij", 20);
  memcpy(rx_buf, "", 20);
  //DesktopColorOld = GUIDEMO_SetBkColor(GUI_BLACK);

          	text1 = WM_GetDialogItem(hWin, GUI_ID_TEXT0);
		  	text2 = WM_GetDialogItem(hWin, GUI_ID_TEXT1);
			text3 = WM_GetDialogItem(hWin, GUI_ID_TEXT2);
		  	text4 = WM_GetDialogItem(hWin, GUI_ID_TEXT3);
			text5 = WM_GetDialogItem(hWin, GUI_ID_TEXT4);

		  	TEXT_SetFont(text1,pFont);
		  	TEXT_SetFont(text2,pFont);
			TEXT_SetFont(text3,pFont18);
		  	TEXT_SetFont(text4,pFont18);
		  	TEXT_SetFont(text5,pFont);
          	

			TEXT_SetBkColor(text5,GUI_BLUE);

			TEXT_SetTextColor(text1,GUI_GREEN);
			TEXT_SetTextColor(text2,GUI_GREEN );
		  	TEXT_SetTextColor(text3,GUI_YELLOW);
			TEXT_SetTextColor(text4,GUI_YELLOW);
			TEXT_SetTextColor(text5,GUI_YELLOW);
			//slider0 = WM_GetDialogItem(hWin, GUI_ID_SLIDER0);
			

			edit1 = WM_GetDialogItem(hWin, GUI_ID_EDIT1);
			EDIT_SetFont(edit1,pFont18);
			EDIT_SetText(edit1,tx_buf);


			edit2 = WM_GetDialogItem(hWin, GUI_ID_EDIT2);

			EDIT_SetFont(edit2,pFont18);
			EDIT_SetText(edit2,rx_buf);
			//EDIT_SetHexMode(edit1,0xffff,0x3fff,0xffff);

			
		  	

			 bt[0]=WM_GetDialogItem(hWin,GUI_ID_BUTTON0);
		     bt[1]=WM_GetDialogItem(hWin, GUI_ID_BUTTON1);
			 bt[2]=WM_GetDialogItem(hWin, GUI_ID_BUTTON2);
			 bt[3]=WM_GetDialogItem(hWin, GUI_ID_BUTTON3);

			 BUTTON_SetFont(bt[0],pFont);//GUI_Font16_ASCII
   			 BUTTON_SetFont(bt[1],pFont);//GUI_Font16_ASCII
   			 BUTTON_SetFont(bt[2],pFont);//GUI_Font16_ASCII
			 BUTTON_SetFont(bt[3],pFont);//GUI_Font16_ASCII

			BUTTON_SetTextColor(bt[0],0,GUI_WHITE); 
			BUTTON_SetTextColor(bt[1],0,GUI_WHITE);
			BUTTON_SetTextColor(bt[2],0,GUI_WHITE);
			BUTTON_SetTextColor(bt[3],0,GUI_WHITE);
			
			rd0 = WM_GetDialogItem(hWin, GUI_ID_RADIO0);
			nrf_baud=0;
			RADIO_SetValue(rd0,0);
			RX_Mode();

			//SLIDER_SetRange(slider0,0x3fff,0xffff);

 			//GUI_Line(0, 60, 239, 60, GUI_WHITE);
 
  while (1)
  {
  	c=NRF24L01_RxPacket();
	if(led_flash==1){ Led_ON(); }
	else if(led_flash==0){ Led_OFF();} 
	if(c==1){
		EDIT_SetFont(edit2,pFont18);
		EDIT_SetText(edit2,rx_buf);
		TEXT_SetFont(text5,pFont);
		TEXT_SetText(text5,status_buf);
		c=0;
	}
	WM_Exec();
	//NRF24L01_TX();
  }
  
 
  
}


 

#endif /* GUI_SUPPORT_MEMDEV */

⌨️ 快捷键说明

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