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

博客主要讲述了嵌入式程序的改进,包括使用zimo221.exe软件放大字体,生成font64.cpp文件并在fonts.h添加声明;可通过串口输入设置时间;画面选黑白以省电。此外,还安装了1100mah的大电池。

买到了电池,很开心,还改进了程序。
现在是这样:
请添加图片描述
请添加图片描述
请添加图片描述
改进方面:
一、字体放大
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+
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胸毛男

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

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

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

打赏作者

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

抵扣说明:

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

余额充值