#include #include #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() { delay(500); 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) { // 在打弢�过程中出现问题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�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(); d.setBrightness(0x01); 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*3600000) { 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(); }