#include "TinyLog.h" #include "log_app.h" #include "variable.h" #include //记录对象 static tiny_log_t mylog; /** * 记录数据初始化 * * @author LXZ (121219) * * @param void */ void log_app_init(void) { tiny_log_init(&mylog, &user_datas[1024], 128); } /** * 执行记录处理功能,报错条件触发记录,读取显示 * * @author LXZ (121219) * * @param void */ void log_app_run(void) { int i = 0; int size = 0; char ntype = 0; int index = 0; unsigned char log_data[13]; //条件触发存储,条件与存储内容用户自己决定,借口预留了一个字节宽度识别码 //后面读取时可以根据该识别码来识别数据类型,进行数据格式还原。 if (M0010) { M0010 = 0; unsigned char data[13]; //unsigned char ntype; ntype = 1; memset(data, ntype, 13); tiny_log_insert(&mylog, 0xff - (ntype & 0xff), &data[0], sizeof(data)); } if (M0011) { M0011 = 0; unsigned char data[10]; //unsigned char ntype; ntype = 2; memset(data, ntype, sizeof(data)); tiny_log_insert(&mylog, 0xff - (ntype & 0xff), &data[0], sizeof(data)); } if (M0012) { M0012 = 0; unsigned char data[5]; //unsigned char ntype; ntype = 3; memset(data, ntype, sizeof(data)); tiny_log_insert(&mylog, 0xff - (ntype & 0xff), &data[0], sizeof(data)); } //重置开始指针 tiny_log_beign_read(&mylog); memset(&log_data[0], 0, sizeof(log_data)); memset(&user_datas[512],0,256); do { //条目从最旧读取,每次读取都会向后查找下一条记录 size = tiny_log_foreace_read(&mylog, &ntype, (void *)&log_data[0]); //这里显示数据需要放到哪里的显示的地方只是示例 if (size >= 0) { user_datas[512 + 14 * i] = ntype; for (index = 0; index < size; index++) { user_datas[512 + 14 * i + index] = log_data[index]; } } i++; } while (size >= 0); } /** * 保存记录数据,,这里只是对内存进行处理,数据应该自己存到对应介质 * * @author LXZ (121219) * * @param void */ void log_app_save(void) { tiny_log_save(&mylog); }