买到了电池,很开心,还改进了程序。
现在是这样:



改进方面:
一、字体放大
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+

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





