89 lines
2.4 KiB
C++
89 lines
2.4 KiB
C++
#include "log.h"
|
||
/*
|
||
|
||
w+以纯文本方式读写,而wb+是以二进制方式进行读写。
|
||
|
||
mode说明:
|
||
|
||
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
|
||
|
||
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
|
||
|
||
wb 只写方式打开或新建一个二进制文件,只允许写数据。
|
||
|
||
wb+ 读写方式打开或建立一个二进制文件,允许读和写。
|
||
|
||
r 打开只读文件,该文件必须存在,否则报错。
|
||
|
||
r+ 打开可读写的文件,该文件必须存在,否则报错。
|
||
|
||
rb+ 读写方式打开一个二进制文件,只允许读写数据。
|
||
|
||
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
|
||
|
||
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
|
||
|
||
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
|
||
|
||
加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。
|
||
*/
|
||
|
||
// SoftwareSerial wb485Serial(wb485PORT_RX,wb485PORT_TX,false);
|
||
// void log_init()
|
||
// {
|
||
|
||
// }
|
||
|
||
#ifdef ARDUINO_USB_CDC_ON_BOOT
|
||
#define U0_Serial Serial
|
||
#else
|
||
SoftwareSerial U0_Serial(19,20,false);
|
||
#endif
|
||
volatile bool log_running = true;
|
||
|
||
|
||
void log_init()
|
||
{
|
||
// U0_Serial.begin(115200);
|
||
}
|
||
|
||
// void log_stop()
|
||
// {
|
||
// // U0_Serial.end();
|
||
// log_running = false;
|
||
// }
|
||
void write_log(String path,String write_data,unsigned char level)
|
||
{
|
||
|
||
if(level <50) {
|
||
// U0_Serial.println(write_data);
|
||
// if(log_running)
|
||
Serial.println(write_data);
|
||
}
|
||
if (level == 20)
|
||
{
|
||
// U0_Serial.println(write_data);
|
||
|
||
File file;
|
||
file = SD_MMC.open(path,FILE_APPEND);
|
||
file.println(write_data);
|
||
file.flush();
|
||
file.close();
|
||
}
|
||
}
|
||
|
||
// void write_log(uint8_t *data,uint32_t size)
|
||
// {
|
||
// // U0_Serial.write(data,size);
|
||
// }
|
||
|
||
void save_data(String path,String write_data)
|
||
{
|
||
File file;
|
||
file = SD_MMC.open(path,"w+");
|
||
file.println(write_data);
|
||
file.flush();
|
||
file.close();
|
||
}
|
||
|