回复【2楼】Admin:
---------------------------------
这个是放在main()函数里面的,接jtag温度感觉是正常的,刚上电第一次写入正常,数据也是正常,不会连续写入;然后一直让它运行,从第二次写入的时候就会连续的写入六次,但是数据是正常的。为什么会连续的写入数据呢?
[mw_shl_code=c,true]void creat_file()
{
u8 res;
u8 time_flag=0;
FIL *fil;
u8 file_byte; //获取文件大小
LCD_ShowString(60,130," - - ");
LCD_ShowString(60,162," : : ");
while(1)
{
show_temp(); //显示片内温度
LCD_ShowAllNum(60,130,timer.w_year,4,16);
LCD_ShowAllNum(100,130,timer.w_month,2,16);
LCD_ShowAllNum(124,130,timer.w_date,2,16);
switch(timer.week)
{
case 0:
LCD_ShowString(60,146,"Sunday ");
break;
case 1:
LCD_ShowString(60,146,"Monday ");
break;
case 2:
LCD_ShowString(60,146,"Tuesday ");
break;
case 3:
LCD_ShowString(60,146,"Wednesday");
break;
case 4:
LCD_ShowString(60,146,"Thursday ");
break;
case 5:
LCD_ShowString(60,146,"Friday ");
break;
case 6:
LCD_ShowString(60,146,"Saturday ");
break;
}
LCD_ShowAllNum(60,162,timer.hour,2,16);
LCD_ShowAllNum(84,162,timer.min,2,16);
LCD_ShowAllNum(108,162,timer.sec,2,16);
date_buffer[4]=timer.w_year;
date_buffer[5]=timer.w_month;
date_buffer[6]=timer.w_date;
date_buffer[7]=timer.hour;
date_buffer[8]=timer.min;
date_buffer[9]=timer.sec;
displaynl(); //显示农历
AI_LoadFestival();//智能显示节假日
if(((timer.sec%30)==0))
{
LED0=0;
res=f_open(fil,"0:/data1.txt",FA_OPEN_EXISTING|FA_WRITE);//
if(res!=FR_OK)
{
f_close(fil); //打开文件错误,关闭打开的文件
return;
}
res=f_lseek(fil,f_size(fil)+5);
f_printf(fil,"%d%d%c%d%d%s%s%d%c%d%c%d%c%d%c%d%c%d\r\n",date_buffer[0],date_buffer[1],'.',date_buffer[2],date_buffer[3],"°c"," ",date_buffer[4],'-',date_buffer[5],'-',date_buffer[6],' ',date_buffer[7],':',date_buffer[8],':',date_buffer[9]); //年
f_close(fil); //关闭打开的文件
}
else
{
LED0=1;
}
}
}[/mw_shl_code]
|