创建TXT文本,换行写入数据

文章描述了一个名为`creat_datetime_txt`的函数,用于在SD卡可用时记录系统时间和高温度计数值到TXT文件中。如果SD卡不可用或系统关闭,会处理文件操作和重置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static char massage[90][26]; //90组数据,每组数据26个字节
extern int tempcnt;
extern int power_off ;
extern int photocnt;

void creat_datetime_txt(){
    static int i = 0;
     FILE *fd = NULL;
      char path[64];
    u8 first_creat = 0;
    char *ptr = massage;
    struct sys_time time;
    get_sys_time(&time);
    if (dev_online(SDX_DEV)) {

        //有卡情况下写入

   //     os_mutex_pend(&creat_datetime_mutex, 0);

        sprintf(path, "%s%s", CONFIG_ROOT_PATH, "HIGHTEMP_LOG.TXT");//创建TXT文本路径
        fd = fopen(path, "r");
        /*if(fd != 0){
             fclose(fd);
             return;
        }*/
        printf("open  %x  %d  !!!!!!!!!!\n\n", massage+i,i);
        sprintf(massage[i],"%d-%02d-%02d,%02d:%02d:%02d,%02d次\n",time.year,time.month,time.day,time.hour,time.min,time.sec,photocnt);

        
        /*for(int x = 0;x < 90;x++){
            printf("massage  %s !!!!!!!!!!\n\n", massage[x]);
        }*/
        i++;
        if (i>90) {/*超过90行重新保存*/
            i= 0;
            memset(massage,0,2340);
            fdelete(fd);//删除文本
            sprintf(massage[i],"%d-%02d-%02d,%02d:%02d:%02d,%02d次\n",time.year,time.month,time.day,time.hour,time.min,time.sec,photocnt);
        }
        if(power_off)
        {//关机删除文本
            memset(massage,0,2340);
            fdelete(fd);
        }
        
        fd = fopen(path, "w+");//创建文本
        if (!fd) {
            printf("open err %s !!!\n\n", path);
        }
        fwrite(fd, massage, 2340);
        fclose(fd);
                

//exit1:
//        os_mutex_post(&creat_datetime_mutex);
        printf("-----------------------update creat_datetime_txt\n");
    } else {
        printf("creat_datetime_txt  SD card no ready !!!!!!!!!!\n\n");
    }

}
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值