用RP2040-Touch-LCD-1.28制作一个手表_改进

买到了电池,很开心,还改进了程序。
现在是这样:
请添加图片描述
请添加图片描述
请添加图片描述
改进方面:
一、字体放大
zimo221.exe软件很方便,就是整一套64的字体,ascii码要输入一套到‘~’很费劲,这里打出来
!“#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~
这样就生成了指定的font64.cpp 而且还要在每个后面加”,"才能编译通过。我理解是作者把偏置量算了进去,把这些典型符号弄了一个巨大的数组,到时候和空格一相减,就得到要找的字了。需要在“fonts.h” 文件下 添加一个 extern sFONT Font64;
二、通过串口设置时间
串口输入11:11:11就可以修改时间。这样很方便设置。
三、画面选黑白
感觉这样似乎能省电。。。。
四、装了个1100mah的大电池
可以揣在怀里到处溜达,希望它不会爆炸。

#include "LCD_Test.h"
void Touch_INT_callback();
uint8_t flag = 0;
int Hour = 22;
int Min = 22;
int Sec = 22;
uint32_t LTIMSE = 0;
UWORD *BlackImage;
int Mode_0Over_1Hou_2Min_3Sec = 0;

unsigned int tim_count = 0;
float acc[3], gyro[3];
const float conversion_factor = 3.3f / (1 << 12) * 3;
String comTemp = "";
char strTemp[8]={'\0'};
char temp;
int iCount = 0;
void SerialEvent()
{
  while(Serial.available())
  {
    temp= char(Serial.read());
    strTemp[iCount++]=temp;
    comTemp += temp;
    delay(2);
    int len = comTemp.length();
    if(len>=8)
    {
      Hour = (strTemp[0]-0x30)*10+(strTemp[1]-0x30);
      Min = (strTemp[3]-0x30)*10+(strTemp[4]-0x30);
      Sec = (strTemp[6]-0x30)*10+(strTemp[7]-0x30);
      Serial.print(Hour);
      Serial.print(Min);
      Serial.print(Sec);
      comTemp="";
      iCount=0;
    }

  }


    // int len = temp.length();
    // Serial.printf("%d",len);
    // if(len==8)
    // {
    //   String strH=temp.substring(0,2);
    //   String strM=temp.substring(3,2);
    //   String strS=temp.substring(6,2);
    //   Hour = strH.toInt();
    //   Min = strM.toInt();
    //   Sec = strS.toInt();
    //   Serial.println(temp);
    // }

  
}

void MyTickgo()
{
  //while (true) {
    uint32_t LTIMSE=millis();

    Sec++;
    if (Sec > 59) {
      Sec = 0;
      Min++;
    }
    if (Min > 59) {
      Min = 0;
      Hour++;
    }
    if (Hour > 23) {
      Hour = 0;
    }


    Paint_Clear(BLACK);
    //Paint_DrawRectangle(0, 0, 120, 80, 0XF410, DOT_PIXEL_2X2, DRAW_FILL_FULL);
    //Paint_DrawRectangle(121, 0, 240, 80, 0XAD55, DOT_PIXEL_2X2, DRAW_FILL_FULL);
    if (Mode_0Over_1Hou_2Min_3Sec == 0)
    {
      //Paint_DrawRectangle(0, 160, 120, 240, 0X2595, DOT_PIXEL_2X2, DRAW_FILL_FULL);
      //Paint_DrawRectangle(121, 160, 240, 240, 0X6634, DOT_PIXEL_2X2, DRAW_FILL_FULL);
      Paint_DrawString_EN(50, 40, "Run", &Font24,BLACK, WHITE);
    }
    else if  (Mode_0Over_1Hou_2Min_3Sec == 4)
    {
        Paint_DrawString_EN(50, 40, "gyro", &Font24, BLACK, WHITE);
        myTuoLuo();
    }
    else
    {
      //Paint_DrawRectangle(0, 160, 120, 240, 0X2595, DOT_PIXEL_2X2, DRAW_FILL_FULL);
      //Paint_DrawRectangle(121, 160, 240, 240, 0X6634, DOT_PIXEL_2X2, DRAW_FILL_FULL);
      Paint_DrawString_EN(60, 170, "-", &Font24, BLACK, WHITE);
      Paint_DrawString_EN(180, 170, "+", &Font24, BLACK, WHITE);
      if (Mode_0Over_1Hou_2Min_3Sec == 1)
      {
        Paint_DrawString_EN(50, 40, "Hour", &Font24, BLACK, WHITE);
      } else if (Mode_0Over_1Hou_2Min_3Sec == 2)
      {
        Paint_DrawString_EN(50, 40, "Min", &Font24, BLACK, WHITE);
      } else if (Mode_0Over_1Hou_2Min_3Sec == 3)
      {
        Paint_DrawString_EN(50, 40, "Sec", &Font24, BLACK, WHITE);
      }
    }

    if(Mode_0Over_1Hou_2Min_3Sec!=4)
    {
      Paint_DrawNum(20, 88, Hour, &Font64, 0, WHITE, BLACK);
      Paint_DrawString_EN(80, 88, ":", &Font64, BLACK, WHITE);
      Paint_DrawNum(108, 88, Min, &Font64, 0, WHITE, BLACK);
      Paint_DrawString_EN(170, 88, ":", &Font64, BLACK, WHITE);
      Paint_DrawNum(198, 125, Sec, &Font24, 0, WHITE, BLACK);
    }
    else
    {
    }
    SerialEvent();
    LCD_1IN28_Display(BlackImage);
    uint32_t pp=millis();
    DEV_Delay_ms(1000-pp+LTIMSE);

  //}
}

void myTuoLuo()
{
  uint16_t result;
  result = DEC_ADC_Read();
  QMI8658_read_xyz(acc, gyro, &tim_count);
  Paint_DrawString_EN(40, 100, "ACC_X=", &Font16, BLACK, WHITE);
  Paint_DrawString_EN(40, 120, "ACC_Y=", &Font16, BLACK, WHITE);
  Paint_DrawString_EN(40, 140, "ACC_Z=", &Font16, BLACK, WHITE);
  Paint_DrawString_EN(40, 160, "GYR_X=", &Font16, BLACK, WHITE);
  Paint_DrawString_EN(40, 180, "GYR_Y=", &Font16, BLACK, WHITE);
  Paint_DrawString_EN(40, 200, "GYR_Z=", &Font16, BLACK, WHITE);

  Paint_DrawNum(120, 100, acc[0], &Font16, 2, WHITE, BLACK);
  Paint_DrawNum(120, 120, acc[1], &Font16, 2, WHITE, BLACK);
  Paint_DrawNum(120, 140, acc[2], &Font16, 2, WHITE, BLACK);
  Paint_DrawNum(120, 160, gyro[0], &Font16, 2, WHITE, BLACK);
  Paint_DrawNum(120, 180, gyro[1], &Font16, 2, WHITE, BLACK);
  Paint_DrawNum(120, 200, gyro[2], &Font16, 2, WHITE, BLACK);
  Paint_DrawNum(40, 80, result * conversion_factor, &Font16, 2, WHITE, BLACK);

}



void setup() {
  // put your setup code here, to run once:

  if (DEV_Module_Init() != 0)
    Serial.println("GPIO Init Fail!");
  else
    Serial.println("GPIO Init successful!");

  LCD_1IN28_Init(HORIZONTAL);
  DEV_SET_PWM(0);
  LCD_1IN28_Clear(WHITE);
  DEV_SET_PWM(100);
  UDOUBLE Imagesize = LCD_1IN28_HEIGHT * LCD_1IN28_WIDTH * 2;
  //UWORD *BlackImage;
  if ((BlackImage = (UWORD *)malloc(Imagesize)) == NULL) {
    Serial.println("Failed to apply for black memory...");
    exit(0);
  }
  // /*1.Create a new image cache named IMAGE_RGB and fill it with white*/
  Paint_NewImage((UBYTE *)BlackImage, LCD_1IN28.WIDTH, LCD_1IN28.HEIGHT, 0, WHITE);
  Paint_SetScale(65);
  Paint_Clear(WHITE);
  Paint_SetRotate(ROTATE_0);
  Paint_Clear(WHITE);

  // /* GUI */
  Serial.println("drawing...\r\n");
  // /*2.Drawing on the image*/
#if 1
  //Paint_DrawPoint(50, 41, BLACK, DOT_PIXEL_1X1, DOT_FILL_RIGHTUP);  // 240 240
  // Paint_DrawPoint(50, 46, BLACK, DOT_PIXEL_2X2, DOT_FILL_RIGHTUP);
  // Paint_DrawPoint(50, 51, BLACK, DOT_PIXEL_3X3, DOT_FILL_RIGHTUP);
  //Paint_DrawPoint(50, 56, BLACK, DOT_PIXEL_4X4, DOT_FILL_RIGHTUP);
  //Paint_DrawPoint(50, 61, BLACK, DOT_PIXEL_5X5, DOT_FILL_RIGHTUP);

  //Paint_DrawLine(60, 40, 90, 70, MAGENTA, DOT_PIXEL_2X2, LINE_STYLE_SOLID);
  //Paint_DrawLine(60, 70, 90, 40, MAGENTA, DOT_PIXEL_2X2, LINE_STYLE_SOLID);

  //Paint_DrawRectangle(60, 40, 90, 70, RED, DOT_PIXEL_2X2, DRAW_FILL_EMPTY);
  //Paint_DrawRectangle(100, 40, 130, 70, BLUE, DOT_PIXEL_2X2, DRAW_FILL_FULL);

  //Paint_DrawLine(135, 55, 165, 55, CYAN, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);
  //Paint_DrawLine(150, 40, 150, 70, CYAN, DOT_PIXEL_1X1, LINE_STYLE_DOTTED);

  //Paint_DrawCircle(150, 55, 15, GREEN, DOT_PIXEL_1X1, DRAW_FILL_EMPTY);
  //Paint_DrawCircle(185, 55, 15, GREEN, DOT_PIXEL_1X1, DRAW_FILL_FULL);

  //Paint_DrawNum(50, 80, 9.87654321, &Font20, 3, WHITE, BLACK);

  Paint_DrawLine(35, 35, 205, 35, MAGENTA, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
  Paint_DrawLine(205, 35, 205, 205, MAGENTA, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
  Paint_DrawLine(35, 205, 205, 205, MAGENTA, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
  Paint_DrawLine(35, 35, 35, 205, MAGENTA, DOT_PIXEL_1X1, LINE_STYLE_SOLID);
  //Paint_DrawString_EN(50, 100, "HAHA", &Font20, 0x000f, 0xfff0);

  //Paint_DrawString_EN(50, 161, "WaveShare", &Font16, RED, WHITE);

  //Paint_DrawString_CN(100, 5, "北\n", &Font24CN,BLUE,WHITE);
  //Paint_DrawString_CN(3, 104, "西\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(205, 104, "东\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(104, 205, "南\n", &Font24CN, BLUE, WHITE);
  Paint_DrawString_CN(54, 72, "恭\n", &Font24CN, BLUE, WHITE);
  Paint_DrawString_CN(86, 72, "喜\n", &Font24CN, BLUE, WHITE);
  Paint_DrawString_CN(118, 72, "發\n", &Font24CN, BLUE, WHITE);
  Paint_DrawString_CN(150, 72, "财\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(54, 110, "红\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(86, 110, "包\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(118, 110, "拿\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(150, 110, "来\n", &Font24CN, BLUE, WHITE);
  //Paint_DrawString_CN(178, 120, "学", &Font24CN, BLUE, WHITE);
  // /*3.Refresh the picture in RAM to LCD*/
  LCD_1IN28_Display(BlackImage);
  DEV_Delay_ms(1000);

#endif

#if 1


  QMI8658_init();
  CST816S_init(CST816S_Gesture_Mode);
  DEV_KEY_Config(Touch_INT_PIN);
  attachInterrupt(Touch_INT_PIN, &Touch_INT_callback, RISING);
  Serial.println("QMI8658_init\r\n");
  DEV_SET_PWM(100);
  // Paint_Clear(WHITE);
  // Paint_DrawRectangle(0, 00, 240, 47, 0XF410, DOT_PIXEL_2X2, DRAW_FILL_FULL);
  // Paint_DrawRectangle(0, 47, 240, 120, 0X4F30, DOT_PIXEL_2X2, DRAW_FILL_FULL);
  // Paint_DrawRectangle(0, 120, 240, 195, 0XAD55, DOT_PIXEL_2X2, DRAW_FILL_FULL);
  // Paint_DrawRectangle(0, 195, 240, 240, 0X2595, DOT_PIXEL_2X2, DRAW_FILL_FULL);

  // Paint_DrawString_EN(45, 30, "LongPress Quit", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 50, "ACC_X = ", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 75, "ACC_Y = ", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 100, "ACC_Z = ", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 125, "GYR_X = ", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 150, "GYR_Y = ", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 175, "GYR_Z = ", &Font16, WHITE, BLACK);
  // Paint_DrawString_EN(45, 200, "BAT(V)=", &Font16, WHITE, BLACK);
  // LCD_1IN28_Display(BlackImage);
  // while (true)
  // {
  //     result = DEC_ADC_Read();
  //     QMI8658_read_xyz(acc, gyro, &tim_count);
  //     // Paint_Clear(WHITE);
  //     Paint_DrawRectangle(120, 47,  220, 120, 0X4F30, DOT_PIXEL_2X2, DRAW_FILL_FULL);
  //     Paint_DrawRectangle(120, 120, 220, 195, 0XAD55, DOT_PIXEL_2X2, DRAW_FILL_FULL);
  //     Paint_DrawRectangle(120, 195, 220, 240, 0X2595, DOT_PIXEL_2X2, DRAW_FILL_FULL);
  //     Paint_DrawNum(120, 50, acc[0], &Font16, 2, BLACK, WHITE);
  //     Paint_DrawNum(120, 75, acc[1], &Font16, 2, BLACK, WHITE);
  //     Paint_DrawNum(120, 100, acc[2], &Font16, 2, BLACK, WHITE);
  //     Paint_DrawNum(120, 125, gyro[0], &Font16, 2, BLACK, WHITE);
  //     Paint_DrawNum(120, 150, gyro[1], &Font16, 2, BLACK, WHITE);
  //     Paint_DrawNum(120, 175, gyro[2], &Font16, 2, BLACK, WHITE);

  //     Paint_DrawNum(130, 200, result * conversion_factor, &Font16, 2, BLACK, WHITE);
  //     LCD_1IN28_DisplayWindows(120, 50, 210, 200, BlackImage);
  //     LCD_1IN28_DisplayWindows(130, 200, 220, 220, BlackImage);
  //     if (flag == 1)
  //     {
  //         flag = 0;
  //         break;
  //     }
  // }

  MyTickgo();
 
#endif

#if 0
flag = 1;
    Paint_Clear(WHITE);
    //Paint_DrawRectangle(0, 00, 240, 47, 0X2595, DOT_PIXEL_2X2, DRAW_FILL_FULL);
    //Paint_DrawString_EN(60, 30, "Touch test", &Font16, WHITE, BLACK);
    LCD_1IN28_Display(BlackImage);
    CST816S_init(CST816S_Point_Mode);
    while (true)
    {
        if (flag == 1)
        {
            Paint_DrawPoint(Touch_CTS816.x_point, Touch_CTS816.y_point, BLUE, DOT_PIXEL_1X1, DOT_FILL_AROUND);
            LCD_1IN28_DisplayWindows(Touch_CTS816.x_point, Touch_CTS816.y_point, Touch_CTS816.x_point + 1, Touch_CTS816.y_point + 1, BlackImage);
            Serial.printf("X:%d Y:%d\r\n", Touch_CTS816.x_point, Touch_CTS816.y_point);
            flag = 0;
        }
        DEV_Delay_us(500);
    }
#endif
}


void loop()
{
  MyTickgo();
}

void Touch_INT_callback() {

  // if (Touch_CTS816.mode == CST816S_Gesture_Mode) {
  //   uint8_t gesture = CST816S_Get_Gesture();
  //   if (gesture == CST816S_Gesture_Long_Press) {
  //     flag = 1;
  //   }
  // } else {
  //   CST816S mypoint = CST816S_Get_Point();


  //   flag = 1;
  // }

  if (Mode_0Over_1Hou_2Min_3Sec == 0) {
    Paint_DrawString_EN(50, 40, "Run", &Font24, WHITE, BLACK);
  } else if (Mode_0Over_1Hou_2Min_3Sec == 1) {
    Paint_DrawString_EN(50, 40, "Hour", &Font24, WHITE, BLACK);
    Paint_DrawString_EN(60, 170, "-", &Font24, WHITE, BLACK);
    Paint_DrawString_EN(180, 170, "+", &Font24, WHITE, BLACK);
  } else if (Mode_0Over_1Hou_2Min_3Sec == 2) {
    Paint_DrawString_EN(50, 40, "Min", &Font24, WHITE, BLACK);
    Paint_DrawString_EN(60, 170, "-", &Font24, WHITE, BLACK);
    Paint_DrawString_EN(180, 170, "+", &Font24, WHITE, BLACK);
  } else if (Mode_0Over_1Hou_2Min_3Sec == 3) {
    Paint_DrawString_EN(50, 40, "Sec", &Font24, WHITE, BLACK);
    Paint_DrawString_EN(60, 170, "-", &Font24, WHITE, BLACK);
    Paint_DrawString_EN(180, 170, "+", &Font24, WHITE, BLACK);
  }
  CST816S mypoint = CST816S_Get_Point();

  if (mypoint.x_point < 120 && mypoint.y_point < 120)  //左上  模式修改
  {
    Mode_0Over_1Hou_2Min_3Sec=Mode_0Over_1Hou_2Min_3Sec + 1;
    if (Mode_0Over_1Hou_2Min_3Sec > 3) {
      Mode_0Over_1Hou_2Min_3Sec = 0;
    }

  }
  else if (mypoint.x_point > 121 && mypoint.y_point > 160)  // 增加  0, 160, 120, 240
  {
    if (Mode_0Over_1Hou_2Min_3Sec == 1) 
    {
      Hour++;
      if (Hour > 23) 
      {
        Hour = 0;
      }
    } 
    else if (Mode_0Over_1Hou_2Min_3Sec == 2) 
    {
      Min++;
      if (Min > 59) 
      {
        Min = 0;
      }
    } 
    else if (Mode_0Over_1Hou_2Min_3Sec == 3) 
    {
      Sec++;
      if (Sec > 59) 
      {
        Sec = 0;
      }
    }

  } 
  else if (mypoint.x_point < 120 && mypoint.y_point > 160)  // 减少  121, 160, 240, 240
  {
    if (Mode_0Over_1Hou_2Min_3Sec == 1) {
      Hour--;
      if (Hour < 0) {
        Hour = 23;
      }
    } else if (Mode_0Over_1Hou_2Min_3Sec == 2) {
      Min--;
      if (Min < 0) {
        Min = 59;
      }
    } else if (Mode_0Over_1Hou_2Min_3Sec == 3) {
      Sec--;
      if (Sec < 0) {
        Sec = 59;
      }
    }
  }
  else if (mypoint.x_point > 120 && mypoint.y_point < 120)  // 陀螺
  {
    if(Mode_0Over_1Hou_2Min_3Sec==4)
    {
      Mode_0Over_1Hou_2Min_3Sec=0;
    }
    else
    {
      Mode_0Over_1Hou_2Min_3Sec=4;
    }
  }


}


font64.cpp

/**
  ******************************************************************************
  * @file    font64.c
  * @author  MCD Application Team
  * @version V1.0.0
  * @date    18-February-2014
  * @brief   This file provides text font24 for STM32xx-EVAL's LCD driver. 
  ******************************************************************************
  * @attention
  *
  * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
  *
  * Redistribution and use in source and binary forms, with or without modification,
  * are permitted provided that the following conditions are met:
  *   1. Redistributions of source code must retain the above copyright notice,
  *      this list of conditions and the following disclaimer.
  *   2. Redistributions in binary form must reproduce the above copyright notice,
  *      this list of conditions and the following disclaimer in the documentation
  *      and/or other materials provided with the distribution.
  *   3. Neither the name of STMicroelectronics nor the names of its contributors
  *      may be used to endorse or promote products derived from this software
  *      without specific prior written permission.
  *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
  ******************************************************************************
  */

/* Includes ------------------------------------------------------------------*/
#include "fonts.h"

const uint8_t Font64_Table [] = 
{
/*--  文字:     --*/
/*--  Times New Roman48;  此字体下对应的点阵为:宽x高=32x64   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*--  文字:  !  --*/
/*--  Times New Roman48;  此字体下对应的点阵为:宽x高=32x64   --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x00,0x07,0xE0,0x00,0x00,0x0F,0xE0,0x00,
0x00,0x0F,0xE0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x0F,0xE0,0x00,
0x00,0x0F,0xE0,0x00,0x00,0x0F,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,
0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x07,0xC0,0x00,
0x00,0x07,0xC0,0x00,0x00,0x07,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x00,
0x00,0x0F,0xE0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,0x00,0x0F,0xF0,0x00,
0x00,0x0F,0xE0,0x00,0x00,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

...



};

sFONT Font64 = {
  Font64_Table,
  32, /* Width */
  64, /* Height */
};

/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胸毛男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值