1. 在这个模板中,我们使用了绘制线,实心圆和字符串显示功能。
    2. #include “Adafruit_GFX.h”
    3. #include “MCUFRIEND_kbv.h”
    4. MCUFRIEND_kbv tft;
    5. uint16_t ox=0,oy=0;
    6. int ave=0, avec=0, avet=0;
    7. ////////////////////////////////////////////////////////////////
    8. void aveg(void)
    9. {int z=0;
    10. Serial.println(ave);
    11. Serial.println(avec);
    12. avet=ave/avec;
    13. Serial.println(avet);
    14. avet=avet*32;
    15. for (int i=0; i《24; i++){
    16. for (uint16_t a=0; a《3; a++){
    17. tft.drawLine(avet+a, z, avet+a, z+10, 0xFB21);} // thick
    18. for (uint16_t a=0; a《2; a++){tft.drawLine(avet-a, z, avet-a, z+10, 0xFB21);} delay(100); z=z+20; } } ////////////////////////////////////////////////////////////////// void dc++hart_10x10(uint16_t nx,uint16_t ny) {ave+=nx; avec++; nx=nx32; ny=ny48; tft.drawCircle(nx, ny, 10, 0x0517); tft.drawCircle(nx, ny, 9, 0x0517); tft.fillCircle(nx, ny, 7, 0x0517); delay (100); ox=nx; oy=ny;} /////////////////////////////////////////////////////////////////////// void dotchart_10x10(uint16_t nx,uint16_t ny) { ave+=nx; avec++; nx=nx32; ny=ny48; int plus=0; float fplus=0; int sign=0; int y=0,x=0; y=oy; x=ox; float xmines, ymines; xmines=nx-ox; ymines=ny-oy; if (ox》nx)
    19. {xmines=ox-nx;
    20. sign=1;}
    21. else
    22. sign=0;
    23. for (int a=0; a《(ny-oy); a++)
    24. {
    25. fplus+=xmines/ymines;
    26. plus=fplus;
    27. if (sign==1)
    28. tft.drawFastHLine(0, y, x-plus, 0xBFDF);
    29. else
    30. tft.drawFastHLine(0, y, x+plus, 0xBFDF);
    31. y++;
    32. delay(5);}
    33. for (uint16_t a=0; a《2; a++){
    34. tft.drawLine(ox+a, oy, nx+a, ny, 0x01E8);} // thick
    35. for (uint16_t a=0; a《2; a++){
    36. tft.drawLine(ox, oy+a, nx, ny+a, 0x01E8);}
    37. ox=nx;
    38. oy=ny;
    39. }
    40. ////////////////////////////////////////////////////////////////////
    41. void setup() {
    42. tft.reset();
    43. Serial.begin(9600);
    44. uint16_t ID = tft.readID();
    45. tft.begin(ID);
    46. }
    47. void loop() {
    48. tft.invertDisplay(true);
    49. tft.fillScreen(0xffff);
    50. dotchart_10x10(3, 0);
    51. dotchart_10x10(2, 1);
    52. dotchart_10x10(4, 2);
    53. dotchart_10x10(4, 3);
    54. dotchart_10x10(5, 4);
    55. dotchart_10x10(3, 5);
    56. dotchart_10x10(6, 6);
    57. dotchart_10x10(7, 7);
    58. dotchart_10x10(9, 8);
    59. dotchart_10x10(8, 9);
    60. dotchart_10x10(10, 10);
    61. dchart_10x10(3, 0);
    62. dchart_10x10(2, 1);
    63. dchart_10x10(4, 2);
    64. dchart_10x10(4, 3);
    65. dchart_10x10(5, 4);
    66. dchart_10x10(3, 5);
    67. dchart_10x10(6, 6);
    68. dchart_10x10(7, 7);
    69. dchart_10x10(9, 8);
    70. dchart_10x10(8, 9);
    71. dchart_10x10(10, 10);
    72. tft.setRotation(1);
    73. tft.setTextSize(2);
    74. tft.setTextColor(0x01E8);
    75. tft.setCursor(20, 20);
    76. tft.print(“Average”);
    77. int dl=20;
    78. for (int i=0;i《6;i++){
    79. for (uint16_t a=0; a《3; a++){
    80. tft.drawLine(dl, 40+a, dl+10, 40+a, 0xFB21);}
    81. dl+=16;}
    82. tft.setRotation(0);
    83. aveg();
    84. while(1);
    85. }