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

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        : GUIVAL.C
  16. Purpose     : Routines to display values as dec, binary or hex
  17. ----------------------------------------------------------------------
  18. */
  19. #include "GUI_Protected.H"
  20. #include "GUIDebug.h"
  21. #include "string.h"
  22. /*********************************************************************
  23. *
  24. *       Public routines
  25. *
  26. **********************************************************************
  27. */
  28. /*********************************************************************
  29. *
  30. *      Decimal GUI_Disp...  routines
  31. */
  32. void GUI_DispDecShift(I32 v, U8 Len, U8 Shift) {
  33. char ac[12];
  34. char* s = ac;
  35.   GUI_AddDecShift(v, Len, Shift, &s);
  36.   GUI_DispString(ac);
  37. }
  38. void GUI_DispSDecShift(I32 v, U8 Len, U8 Shift) {
  39. char ac[12];
  40. char* s = ac;
  41.   v = GUI_AddSign(v, &s);
  42.   GUI_AddDecShift(v, --Len, Shift, &s);
  43.   GUI_DispString(ac);
  44. }
  45. void GUI_DispDecMin(I32 v) {
  46. char ac[12];
  47. char* s = ac;
  48.   GUI_AddDecMin(v, &s);
  49.   GUI_DispString(ac);
  50. }
  51. void GUI_DispDecSpace(I32 v, U8 MaxDigits) {
  52. char ac[12];
  53. char* s = ac;
  54.   U8 Len;
  55.   if (v < 0) {
  56.     v = GUI_AddSign(v, &s);
  57.     MaxDigits--;
  58.   }
  59.   Len = GUI_Long2Len(v);
  60.   while (Len++ < MaxDigits) {
  61.     *s++ = ' ';
  62.   }
  63.   GUI_AddDecMin(v, &s);
  64.   GUI_DispString(ac);
  65. }
  66. void GUI_DispSDec(I32 v, U8 Len) { GUI_DispSDecShift(v,Len,0);}
  67. void GUI_DispDec (I32 v, U8 Len) { GUI_DispDecShift(v, Len,0); }
  68. void GUI_DispDecAt(I32 v, I16P x, I16P y, U8 Len) {
  69. char ac[12];
  70. char* s = ac;
  71.   GUI_AddDecShift(v, Len, 0, &s);
  72.   GUI_DispStringAt(ac, x, y);
  73. }