first commit

This commit is contained in:
xin
2023-02-01 16:15:55 +08:00
commit 810b736c35
5 changed files with 287 additions and 0 deletions

173
src/main.cpp Normal file
View File

@ -0,0 +1,173 @@
#include <Wire.h>
#include <TM1650.h>
#include "FS.h"
#include "SPIFFS.h"
size_t TimeTotle =0;
size_t timebegin;
TM1650 d;
File timefile;
TickType_t xLastWakeTime;
const TickType_t xFrequency = 1000;
bool flashdot=true;
void showtime(char a[4],int dot=1)
{
char b[4];
for (size_t i = 0; i < 4; i++)
{
b[i]=a[3-i];
/* code */
}
d.displayString(b);
d.setDot(dot,flashdot);
flashdot=!flashdot;
}
void showtime(double second)
{
char bb[4];
int a=second;
int b=a%3600;
b=b*10/3600;
bb[0]=String(b).charAt(0);
int c=a/3600;
b=c%10;
bb[1]=String(b).charAt(0);
c=c/10;
b=c%10;
bb[2]=String(b).charAt(0);
c=c/10;
b=c%10;
bb[3]=String(b).charAt(0);
d.displayString(bb);
d.setDot(1,flashdot);
flashdot=!flashdot;
//Serial.println(bb);
}
int iiii=10;
void setup()
{
pinMode(34,INPUT);
pinMode(4,INPUT_PULLUP);
timebegin=millis();
bool ok = SPIFFS.begin();
if(!ok)
{
SPIFFS.format();
ok = SPIFFS.begin();
}
bool exist = SPIFFS.exists("/time.txt");
if (exist)
{
// Serial.println("The file exists!");
File f = SPIFFS.open("/time.txt", "r");
if (!f)
{
// 在打弢<E68993>过程中出现问题f就会为空
// Serial.println("Some thing went wrong trying to open the file...");
}
else
{
int s = f.size();
// Serial.printf("Size=%d\r\n", s);
//读取index.html的文本内宄1<E5AE84>7
String data = f.readString();
TimeTotle=data.toInt();
// Serial.println(data);
//关闭文件
f.close();
}
}
else
{
// Serial.println("No such file found.");
}
Wire.setPins(26,25);
Wire.begin(); //Join the bus as master
Serial.begin(115200); //Start serial communication at 9600 for debug statements
Serial.println("TM1650 Example Code");
d.init();
xLastWakeTime = xTaskGetTickCount();
size_t timenow=millis();
if (TimeTotle<999.8*3600)
{
TimeTotle=TimeTotle+(timenow-timebegin);
timebegin=timenow;
}
showtime(TimeTotle*1.0/1000);
}
void loop()
{
//Serial.println(digitalRead(4));
vTaskDelayUntil(&xLastWakeTime, xFrequency);
if (/* condition */digitalRead(4)==0)
{
Serial.println("you have put the butten reset");
iiii--;
if (iiii==0)
{ TimeTotle=0;
timefile= SPIFFS.open("/time.txt", "w");
timefile.println(TimeTotle);
timefile.flush();
timefile.close();
/* code */
}
/* code */
}else
{
iiii=10;
}
//Serial.println("TM1650 Example Code");
// showtime("4000",1);
// delay(2000);
//showtime("8000",2);
//delay(2000);
size_t timenow=millis();
if (TimeTotle<999.8*3600)
{
TimeTotle=TimeTotle+(timenow-timebegin);
timebegin=timenow;
}
int a=digitalRead(34);
if (a!=0)
{
timefile= SPIFFS.open("/time.txt", "w");
timefile.println(TimeTotle);
timefile.flush();
timefile.close();
/* code */
}
else{
showtime(0.0);
delay(10000);
}
Serial.println(String(TimeTotle*1.0/1000));
showtime(TimeTotle*1.0/1000);
// delay(1000);
timefile.close();
}