亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? memdev_drawgraph.c

?? UC_GUI開發(fā)源代碼,里面含有范例,源文件
?? C
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        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        : MEMDEV_DrawGraph.c
Purpose     : Example for drawing graphs
----------------------------------------------------------------------
*/

#include "GUI.h"
#include "LCD_ConfDefaults.h"
#include <math.h>
#include <stdlib.h>

/*******************************************************************
*
*       defines
*
********************************************************************
*/

#define YSIZE   (LCD_YSIZE - 100)
#define DEG2RAD (3.1415926f / 180)

#if LCD_BITSPERPIXEL == 1
  #define COLOR_GRAPH0 GUI_WHITE
  #define COLOR_GRAPH1 GUI_WHITE
#else
  #define COLOR_GRAPH0 GUI_GREEN
  #define COLOR_GRAPH1 GUI_YELLOW
#endif

/*******************************************************************
*
*      structure containing information for drawing routine
*/
typedef struct {
  I16 *aY;
} PARAM;

/*******************************************************************
*
*       static code
*
********************************************************************
*/

/*******************************************************************
*
*       _Draw
  
  Draws the graph area
*/
static void _Draw(void * p) {
  int i;
  PARAM * pParam = (PARAM *)p;
  GUI_SetBkColor(GUI_BLACK);
  GUI_SetColor(GUI_DARKGRAY);
  GUI_ClearRect(19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21));
  for (i = 0; i < (YSIZE / 2); i += 20) {
    GUI_DrawHLine((LCD_YSIZE - 20) - (YSIZE / 2) + i, 19, (LCD_XSIZE - 2));
    if (i) {
      GUI_DrawHLine((LCD_YSIZE - 20) - (YSIZE / 2) - i, 19, (LCD_XSIZE - 2));
    }
  }
  for (i = 40; i < (LCD_XSIZE - 20); i += 40) {
    GUI_DrawVLine(18 + i, (LCD_YSIZE - 20) - YSIZE, (LCD_YSIZE - 21));
  }
  GUI_SetColor(COLOR_GRAPH0);
  GUI_DrawGraph(pParam->aY, (LCD_XSIZE - 20), 19, (LCD_YSIZE - 20) - YSIZE);
}

/*******************************************************************
*
*       _Draw2
*/
static void _Draw2(void * p) {
  PARAM * pParam = (PARAM *)p;
  _Draw(p);
  GUI_SetColor(COLOR_GRAPH1);
  GUI_DrawGraph(pParam->aY+15, (LCD_XSIZE - 20), 19, (LCD_YSIZE - 20) - YSIZE);
}

/*******************************************************************
*
*       _Label

  Labels the x & y-axis
*/
static void _Label(void) {
  int x, y;
  GUI_SetBkColor(GUI_RED);
  GUI_Clear();
  GUI_SetColor(GUI_WHITE);
  GUI_SetFont(&GUI_Font24_ASCII);
  GUI_DispStringHCenterAt("MEMDEV_DrawGraph - Sample", 160, 5);
  GUI_SetPenSize(1);
  GUI_ClearRect(0, (LCD_YSIZE - 21) - YSIZE, (LCD_XSIZE - 1), (LCD_YSIZE - 1));
  GUI_DrawRect(18, (LCD_YSIZE - 21) - YSIZE, (LCD_XSIZE - 1), (LCD_YSIZE - 20));
  GUI_SetFont(&GUI_Font6x8);
  for (x = 0; x < (LCD_XSIZE - 20); x += 40) {
    int xPos = x + 18;
    GUI_DrawVLine(xPos, (LCD_YSIZE - 20), (LCD_YSIZE - 14));
    GUI_DispDecAt(x / 40, xPos - 2, (LCD_YSIZE - 9), 1);
  }
  for (y = 0; y < YSIZE / 2; y += 20) {
    int yPos = (LCD_YSIZE - 20) - YSIZE / 2 + y;
    GUI_DrawHLine(yPos, 13, 18);
    if (y) {
      GUI_GotoXY(1, yPos - 4);
      GUI_DispSDec(-y / 20, 2);
      yPos = (LCD_YSIZE - 20) - YSIZE / 2 - y;
      GUI_DrawHLine(yPos, 13, 18);
      GUI_GotoXY(1, yPos - 4);
      GUI_DispSDec(y / 20, 2);
    } else {
      GUI_DispCharAt('0', 7, yPos - 4);
    }
  }
}

/*******************************************************************
*
*       _GetRandomData
*/
static void _GetRandomData(I16 * paY, int Time, int n) {
  int aDiff, i;
  if (Time > 5000)
    Time -= 5000;
  if (Time > 2500)
    Time = 5000 - Time;
  Time /= 200;
  aDiff = Time * Time + 1;
  for (i = 0; i < n; i++) {
    if (!i) {
      paY[i] = rand() % YSIZE;
    } else {
      I16 yNew;
      int yD = aDiff - (rand() % aDiff);
      if (rand() & 1) {
        yNew = paY[i-1] + yD;
      } else {
        yNew = paY[i-1] - yD;
      }
      if (yNew > YSIZE) {
        yNew -= yD;
      } else { if (yNew < 0)
        yNew += yD;
      }
      paY[i] = yNew;
    }
  }
}

/*******************************************************************
*
*       _DemoRandomGraph
*/
static void _DemoRandomGraph(void) {
  PARAM Param;
  int tDiff, t0;
  GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)};
  GUI_HMEM hMem = GUI_ALLOC_AllocZero((LCD_XSIZE - 20) * sizeof(I16));
  GUI_SetColor(GUI_WHITE);
  GUI_SetBkColor(GUI_RED);
  GUI_ClearRect(0, 55, LCD_XSIZE, 75);
  GUI_SetFont(&GUI_FontComic18B_1);
  GUI_DispStringAt("Random graph", 20, 55);
  GUI_Lock();
  Param.aY = GUI_ALLOC_h2p(hMem);
  GUI_SetFont(&GUI_Font6x8);
  t0 = GUI_GetTime();
  while((tDiff = (GUI_GetTime() - t0)) < 10000) {
    int t1, tDiff2;
    _GetRandomData(Param.aY, tDiff, (LCD_XSIZE - 20));
    t1 = GUI_GetTime();
    GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, 0);
    tDiff2 = GUI_GetTime() - t1;
    if (tDiff2 < 100) {
      GUI_Delay(100 - tDiff2);
    }
  }
  GUI_Unlock();
  GUI_ALLOC_Free(hMem);
}

/*******************************************************************
*
*       _GetSineData
*/
static void _GetSineData(I16 * paY, int n) {
  int i;
  for (i = 0; i < n; i++) {
    float s = sin(i * DEG2RAD * 4);
    paY[i] = s * YSIZE / 2 + YSIZE / 2;
  }
}

/*******************************************************************
*
*       _DemoSineWave
*/
static void _DemoSineWave(void) {
  PARAM Param;
  I16 * pStart;
  int t0, Cnt = 0;
  GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)};
  GUI_HMEM hMem = GUI_ALLOC_AllocZero(405 * sizeof(I16));
  GUI_SetColor(GUI_WHITE);
  GUI_SetBkColor(GUI_RED);
  GUI_ClearRect(0, 55, LCD_XSIZE, 75);
  GUI_SetFont(&GUI_FontComic18B_1);
  GUI_DispStringAt("Sine wave", 20, 55);
  pStart = GUI_ALLOC_h2p(hMem);
  _GetSineData(pStart, 405);
  GUI_SetFont(&GUI_Font6x8);
  t0 = GUI_GetTime();
  while((GUI_GetTime() - t0) < 10000) {
    int t1, tDiff2;
    if (Cnt++ % 90) {
      Param.aY++;
    } else {
      Param.aY = pStart;
    }
    t1 = GUI_GetTime();
    GUI_MEMDEV_Draw(&Rect, _Draw2, &Param, 0, 0);
    tDiff2 = GUI_GetTime() - t1;
    if (tDiff2 < 100) {
      GUI_Delay(100 - tDiff2);
    }
  }
  GUI_ALLOC_Free(hMem);
}

/*******************************************************************
*
*       _DrawOrData
*/
static void _DrawOrData(GUI_COLOR Color, I16 * paY) {
  GUI_SetColor(Color);
  GUI_DrawGraph(paY, (LCD_XSIZE - 20), 19, (LCD_YSIZE - 20) - YSIZE);
}

/*******************************************************************
*
*       _DemoOrData
*/
static void _DemoOrData(void) {
  int i;
  PARAM Param;
  GUI_RECT Rect = {19, (LCD_YSIZE - 20) - YSIZE, (LCD_XSIZE - 2), (LCD_YSIZE - 21)};
  GUI_HMEM hMem = GUI_ALLOC_AllocZero(405 * sizeof(I16));
  GUI_SetColor(GUI_WHITE);
  GUI_SetBkColor(GUI_RED);
  GUI_ClearRect(0, 55, LCD_XSIZE, 75);
  GUI_SetFont(&GUI_FontComic18B_1);
  GUI_DispStringAt("Several waves...", 20 ,55);
  Param.aY = GUI_ALLOC_h2p(hMem);
  _GetSineData(Param.aY, 405);
  GUI_MEMDEV_Draw(&Rect, _Draw, &Param, 0, 0);
  for (i = 0; (i < 90); i++) {
    _DrawOrData(GUI_GREEN, ++Param.aY);
    GUI_Delay(10);
  }
  GUI_ALLOC_Free(hMem);
}

/*******************************************************************
*
*       MainTask
*
*       Demonstrates the use of a memory device
*
********************************************************************
*/

void MainTask(void) {
  GUI_Init();
  _Label();
  while(1) {
    _DemoRandomGraph();
    _DemoSineWave();
    _DemoOrData();
  }
}
	 	 			 		    	 				 	  			   	 	 	 	 	 	  	  	      	   		 	 	 		  		  	 		 	  	  			     			       	   	 			  		    	 	     	 				  	 					 	 			   	  	  			 				 		 	 	 			     			 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品你懂的| 2023国产精品自拍| 亚洲午夜在线电影| 欧美日韩免费一区二区三区| 亚洲国产精品视频| 欧美一二三四在线| 国产一区在线不卡| 中国色在线观看另类| 成人v精品蜜桃久久一区| 亚洲嫩草精品久久| 欧美三级欧美一级| 日韩av不卡一区二区| 久久综合九色综合97婷婷女人| 国产综合色产在线精品| 国产精品色哟哟| 91成人国产精品| 美女视频黄频大全不卡视频在线播放| 欧美精品一区二区久久久| 国产精品1024| 亚洲乱码精品一二三四区日韩在线 | 琪琪久久久久日韩精品| 久久综合九色综合欧美亚洲| 成人av资源在线观看| 午夜精品久久久久久久久久久| 欧美一区二区三区的| 国产精品一二三四五| 亚洲欧美色一区| 精品蜜桃在线看| 日本福利一区二区| 国内偷窥港台综合视频在线播放| 国产精品久久久久9999吃药| 欧美另类videos死尸| 黑人巨大精品欧美黑白配亚洲| 中文字幕av资源一区| 欧美在线免费观看视频| 国产激情91久久精品导航| 亚洲一区二区精品视频| 国产偷国产偷精品高清尤物| 欧美综合欧美视频| 国产91精品入口| 日本麻豆一区二区三区视频| 国产精品第13页| 精品欧美乱码久久久久久| 97se亚洲国产综合自在线| 美国精品在线观看| 一区二区三区产品免费精品久久75| 日韩欧美国产成人一区二区| 色菇凉天天综合网| 国产成a人亚洲精品| 免费av网站大全久久| 亚洲精品日韩专区silk| 中文字幕乱码一区二区免费| 日韩三级免费观看| 欧美性受xxxx黑人xyx| 成人福利视频网站| 国产精品中文欧美| 奇米888四色在线精品| 亚洲sss视频在线视频| 国产精品嫩草影院av蜜臀| 精品国产亚洲在线| 欧美一区二区美女| 欧美日韩国产在线观看| 一本色道久久综合亚洲精品按摩| 国产精品自产自拍| 国产一区二区三区四区在线观看 | 欧美精品丝袜久久久中文字幕| 99精品国产91久久久久久 | 天天色图综合网| 亚洲男人天堂av| 中文字幕一区二区三区精华液| 精品国产91九色蝌蚪| 91精品国产色综合久久不卡蜜臀| 日本精品裸体写真集在线观看 | 日韩欧美一二三四区| 欧美日韩激情一区| 欧美人与z0zoxxxx视频| 在线视频综合导航| 欧美在线观看视频一区二区 | 亚洲视频一区二区免费在线观看| 国产午夜亚洲精品午夜鲁丝片| 久久久国产一区二区三区四区小说| 日韩欧美综合一区| 欧美va在线播放| 久久伊人蜜桃av一区二区| 精品精品国产高清a毛片牛牛| 欧美成人精精品一区二区频| 欧美本精品男人aⅴ天堂| 日韩欧美国产小视频| 欧美成va人片在线观看| 日韩精品一区二区三区视频播放| 精品999久久久| 久久无码av三级| 中文字幕在线一区免费| 亚洲欧美日韩系列| 亚洲一区国产视频| 丝袜诱惑制服诱惑色一区在线观看 | 在线电影欧美成精品| 91精品国产麻豆| 精品精品欲导航| 中文字幕久久午夜不卡| 亚洲免费高清视频在线| 午夜成人免费视频| 久久av资源站| 成人毛片在线观看| 精品视频一区 二区 三区| 日韩久久久精品| 国产精品天美传媒沈樵| 亚洲自拍都市欧美小说| 日本成人在线不卡视频| 国产成人综合亚洲网站| 91福利社在线观看| 欧美xxx久久| 亚洲欧美激情小说另类| 青青草国产精品97视觉盛宴| 国产精品一区二区免费不卡| 91久久人澡人人添人人爽欧美| 日韩一区二区在线观看视频| 国产女同互慰高潮91漫画| 亚洲综合激情网| 黄色精品一二区| 欧美日韩激情在线| 国产欧美日韩麻豆91| 视频一区视频二区在线观看| 国产91丝袜在线观看| 欧美麻豆精品久久久久久| 国产欧美日韩不卡| 亚洲电影一区二区| 高清不卡在线观看av| 欧美精品v国产精品v日韩精品| 久久精品一区八戒影视| 五月综合激情婷婷六月色窝| 丰满少妇久久久久久久| 欧美一区二区在线视频| 中文字幕亚洲一区二区av在线| 日本欧美一区二区三区| 91免费观看国产| 久久精品视频免费| 人人精品人人爱| 色悠悠亚洲一区二区| 久久久久久电影| 另类小说图片综合网| 欧洲精品在线观看| 亚洲欧洲日产国码二区| 激情文学综合插| 欧美精品丝袜中出| 亚洲高清免费观看高清完整版在线观看| 国产精品18久久久久久vr| 日韩免费一区二区三区在线播放| 亚洲国产欧美日韩另类综合| 91亚洲国产成人精品一区二区三| 久久久久国产精品厨房| 激情五月婷婷综合网| 欧美一卡2卡三卡4卡5免费| 夜夜操天天操亚洲| 91麻豆免费看| 亚洲欧美综合在线精品| 丁香一区二区三区| 国产亚洲va综合人人澡精品 | 国产无人区一区二区三区| 麻豆国产精品视频| 日韩美女一区二区三区四区| 日本视频在线一区| 欧美另类videos死尸| 首页国产丝袜综合| 91麻豆精品国产91久久久使用方法 | 中文字幕日本乱码精品影院| 国产福利一区在线| 国产欧美一区二区三区网站| 东方aⅴ免费观看久久av| 国产精品污网站| 99精品久久久久久| 亚洲制服丝袜一区| 欧美色综合影院| 蜜臀99久久精品久久久久久软件| 欧美一区二区三区公司| 极品少妇一区二区| 久久久久久久久久久久久久久99| 国产成人aaaa| 亚洲欧美另类小说| 欧美男男青年gay1069videost| 亚洲一区二区三区四区五区中文 | 亚洲午夜激情网站| 日本黄色一区二区| 国产精品美女久久久久久久网站| 99久久99久久精品免费观看 | 欧美性淫爽ww久久久久无| 亚洲美女在线一区| 91福利资源站| 亚洲欧美福利一区二区| 不卡一二三区首页| 中文字幕一区二区三区四区不卡 | 91精品国产综合久久精品性色| 日韩福利视频导航| 日韩区在线观看| 黑人巨大精品欧美黑白配亚洲| 欧美精选一区二区| 国产成人在线看| 国产精品久久福利| 色婷婷激情综合| 免费看黄色91|