GUI_X_uCOS.c
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:6k
源码类别:

uCOS

开发平台:

C/C++

  1. /*
  2. *********************************************************************************************************
  3. *                                                uC/GUI
  4. *                        Universal graphic software for embedded applications
  5. *
  6. *                       (c) Copyright 2002, Micrium Inc., Weston, FL
  7. *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  8. *
  9. *              礐/GUI is protected by international copyright laws. Knowledge of the
  10. *              source code may not be used to write a similar product. This file may
  11. *              only be used in accordance with a license and should not be redistributed
  12. *              in any way. We appreciate your understanding and fairness.
  13. *
  14. ----------------------------------------------------------------------
  15. File        : GUI_X.C
  16. Purpose     : COnfig / System dependent externals for GUI
  17. ---------------------------END-OF-HEADER------------------------------
  18. */
  19. #if 0
  20. #include <stdio.h>
  21. #include "INCLUDES.H"
  22. #include "gui_x.h"
  23. /*********************************************************************
  24. *
  25. *      Timing:
  26. *                 GUI_X_GetTime
  27. *                 GUI_X_Delay
  28.   Some timing dependent routines of emWin require a GetTime
  29.   and delay funtion. Default time unit (tick), normally is
  30.   1 ms.
  31. */
  32. int GUI_X_GetTime(void) {
  33.   return OSTimeGet();
  34. }
  35. void GUI_X_Delay(int Period) {
  36.   OSTimeDly(Period);                                    // GUI 程序对延时时间要求并不高,所以直接使用参数.
  37. }
  38. /*********************************************************************
  39. *
  40. *       GUI_X_ExecIdle()
  41. */
  42. void GUI_X_ExecIdle(void) {
  43.   OSTimeDly(1);
  44. }
  45. /*********************************************************************
  46. *
  47. *      Multitasking:
  48. *
  49. *                 GUI_X_InitOS()
  50. *                 GUI_X_GetTaskId()
  51. *                 GUI_X_Lock()
  52. *                 GUI_X_Unlock()
  53. Note:
  54.   The following routines are required only if emWin is used in a
  55.   true multi task environment, which means you have more than one
  56.   thread using the emWin API.
  57.   In this case the
  58.                       #define GUI_OS 1
  59.   needs to be in GUIConf.h
  60. */
  61. static OS_EVENT * DispSem;
  62. int  GUI_X_GetTaskId (void)
  63. {
  64.     return ((int)(OSTCBCur->OSTCBPrio));
  65. }
  66. void GUI_X_InitOS (void)
  67. {
  68.     DispSem = OSSemCreate(1);
  69. }
  70. void GUI_X_Unlock (void)
  71. {
  72.     OSSemPost(DispSem);
  73. }
  74. void GUI_X_Lock (void) {
  75.  INT8U err;
  76.     OSSemPend(DispSem, 0, &err);
  77. }
  78. /*********************************************************************
  79. *
  80. *       GUI_X_Init()
  81. *
  82. * Note:
  83. *     GUI_X_Init() is called from GUI_Init is a possibility to init
  84. *     some hardware which needs to be up and running before the GUI.
  85. *     If not required, leave this routine blank.
  86. */
  87. void GUI_X_Init(void)
  88. {
  89.    // GUI_Key_Init();                 // 初始化一个按键信号量.
  90. }
  91. extern void Uart_Printf (const char *format, ...);
  92. void GUI_X_Log(const char *s)
  93. {
  94.  static INT32U i;
  95.     Uart_Printf (s);
  96. Uart_Printf ("r");
  97.     Uart_Printf ("------------------------ %i .nr",i++);
  98. }
  99. void GUI_X_Warn(const char *s)
  100. {
  101. }
  102. void GUI_X_ErrorOut(const char *s)
  103. {
  104. }
  105. /*
  106. ********************************************************************************************************
  107. * End.
  108. ********************************************************************************************************
  109. */
  110. #else
  111. /*
  112. *********************************************************************************************************
  113. *  uC/GUI
  114. *  Universal graphic software for embedded applications
  115. *
  116. * (c) Copyright 2002, Micrium Inc., Weston, FL
  117. * (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  118. *
  119. *    礐/GUI is protected by international copyright laws. Knowledge of the
  120. *    source code may not be used to write a similar product. This file may
  121. *    only be used in accordance with a license and should not be redistributed
  122. *    in any way. We appreciate your understanding and fairness.
  123. *
  124. ----------------------------------------------------------------------
  125. File : GUI_X.C
  126. Purpose  : COnfig / System dependent externals for GUI
  127. ---------------------------END-OF-HEADER------------------------------
  128. */
  129. //#include "uCOS_Types.h"
  130. #include "uCOS_II.h"
  131. #include "GUI.H"
  132. #include "stdio.H"
  133. /*********************************************************************
  134. *
  135. *    Timing:
  136. *   GUI_X_GetTime
  137. *   GUI_X_Delay
  138.   Some timing dependent routines of emWin require a GetTime
  139.   and delay funtion. Default time unit (tick), normally is
  140.   1 ms.
  141. */
  142. extern void Uart_Printf (const char *format, ...);
  143. void GUI_X_Log(const char *s)
  144. {
  145.  static INT32U i;
  146.     Uart_Printf (s);
  147. Uart_Printf ("r");
  148.     Uart_Printf ("------------------------ %i .nr",i++);
  149. }
  150. int GUI_X_GetTime(void) {
  151.   return OSTimeGet();
  152. }
  153. void GUI_X_Delay(int Period) {
  154.   OSTimeDly(Period);
  155. }
  156. /*********************************************************************
  157. *
  158. * GUI_X_ExecIdle()
  159. */
  160. void GUI_X_ExecIdle(void) {
  161.   Delay(1000);
  162. }
  163. /*********************************************************************
  164. *
  165. *    Multitasking:
  166. *
  167. *   GUI_X_InitOS()
  168. *   GUI_X_GetTaskId()
  169. *   GUI_X_Lock()
  170. *   GUI_X_Unlock()
  171. Note:
  172.   The following routines are required only if emWin is used in a
  173.   true multi task environment, which means you have more than one
  174.   thread using the emWin API.
  175.   In this case the
  176.                       #define GUI_OS 1
  177.   needs to be in GUIConf.h
  178. */
  179. static OS_EVENT * DispSem;
  180. U32  GUI_X_GetTaskId(void) { return ((U32)(OSTCBCur->OSTCBPrio)); }
  181. void GUI_X_InitOS(void)    { DispSem = OSSemCreate(1); }
  182. void GUI_X_Unlock(void)    { OSSemPost(DispSem); }
  183. void GUI_X_Lock(void) {
  184.   INT8U err;
  185.   OSSemPend(DispSem, 0, &err);
  186. }
  187. /*********************************************************************
  188. *
  189. * GUI_X_Init()
  190. *
  191. * Note:
  192. *   GUI_X_Init() is called from GUI_Init is a possibility to init
  193. *   some hardware which needs to be up and running before the GUI.
  194. *   If not required, leave this routine blank.
  195. */
  196. void GUI_X_Init(void) 
  197. {
  198. //Touch_Screen_Init(); //此处接入触摸屏的中断设置
  199. // GUI_TOUCH_SetDefaultCalibration();//关键函数
  200. }
  201. void GUI_X_ErrorOut(const char *s){}
  202. void GUI_X_Warn(const char *s){}
  203. int  GUI_TOUCH_X_MeasureX(void) {
  204. //    return TX;
  205.  
  206. }  
  207. int  GUI_TOUCH_X_MeasureY(void){
  208.    //  return TY;
  209. }
  210. void GUI_TOUCH_X_ActivateX(void) {}  
  211. void GUI_TOUCH_X_ActivateY(void) {}
  212. #endif