FAT32死机问题

2019-07-21 03:01发布

大家好,最近在学习如何使用FAT32储存文件,但是遇到一个问题,建立多层文件夹没问题,建立很多.txt也没问题,但是当我将下面的程序运行时,却出现死机的情况,不知道是什么原因?求高手指点。
/////////////////////////////////////////////////
void notepad_new_pathname_date(u8* pname_date)                              //建立一个存储每天降雨量的文件夹
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_date,"0:监测第%02d天",calendar.w_date);

void notepad_new_pathname_date_txt(u8 *pname_date_txt)                     //建立一个存储每天降雨量的txt文件
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_date_txt,"0:监测第%02d天/第%02d天的降雨量.txt",calendar.w_date,calendar.w_date);

/////////////////////////////////////////////////
void notepad_new_pathname_hour(u8 *pname_hour)                             //建立一个存储每小时降雨量的文件夹
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_hour,"0:监测第%02d天/第%02d天第%02d小时",calendar.w_date,calendar.w_date,calendar.hour);

void notepad_new_pathname_hour_txt(u8 *pname_hour_txt)                    //建立一个存储每小时降雨量的txt文件
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_hour_txt,"0:监测第%02d天/第%02d天第%02d小时/第%02d天第%02d小时的降雨量.txt",calendar.w_date,calendar.w_date,calendar.hour,calendar.w_date,calendar.hour);

////////////////////////////////////////////////
void notepad_new_pathname_min(u8 *pname_min)                              //建立一个存储每分钟降雨量的文件夹        
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_min,"0:监测第%02d天/第%02d天第%02d小时/第%02d天第%02d小时第%02d分钟",calendar.w_date,calendar.w_date,calendar.hour,calendar.w_date,calendar.hour,calendar.min);

void notepad_new_pathname_min_txt(u8 *pname_min_txt)                       //建立一个存储每分钟降雨量的txt文件 
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_min_txt,"0:监测第%02d天/第%02d天第%02d小时/第%02d天第%02d小时第%02d分钟/第%02d天第%02d小时第%02d分钟的降雨量.txt",calendar.w_date,calendar.w_date,calendar.hour,calendar.w_date,calendar.hour,calendar.min,calendar.w_date,calendar.hour,calendar.min);

////////////////////////////////////////////////
void notepad_new_pathname_sec(u8 *pname_sec)                              //建立一个存储每分钟降雨量的文件夹        
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar); 
sprintf((char*)pname_sec,"0:监测第%02d天/第%02d天第%02d小时/第%02d天第%02d小时第%02d分钟/第%02d天第%02d小时第%02d分钟第%02d秒",calendar.w_date,calendar.w_date,calendar.hour,calendar.w_date,calendar.hour,calendar.min,calendar.w_date,calendar.hour,calendar.min,calendar.sec);

//////////////////////////////////////////////////////////////////
void notepad_new_pathname_sec_txt(u8 *pname_sec_txt)                      //建立一个存储每秒钟降雨量的文件夹 
{  
calendar_get_time(&calendar);
calendar_get_date(&calendar);
sprintf((char*)pname_sec_txt,"0:监测第%02d天/第%02d天第%02d小时/第%02d天第%02d小时第%02d分钟/第%02d天第%02d小时第%02d分钟第%02d秒/第%02d天第%02d小时第%02d分钟第%02d秒的降雨量.txt",calendar.w_date,calendar.w_date,calendar.hour,calendar.w_date,calendar.hour,calendar.min,calendar.w_date,calendar.hour,calendar.min,calendar.sec,calendar.w_date,calendar.hour,calendar.min,calendar.sec);


int main()
{
TCHAR pname_date[10];               //存储每天降雨量的文件夹
TCHAR pname_date_txt[30];           //存储每天降雨量的txt文件
TCHAR pname_hour[30];               //存储每小时降雨量的文件夹
TCHAR pname_hour_txt[50];           //存储每小时降雨量的txt文件
TCHAR pname_min[50];                //存储每分钟降雨量的文件夹
TCHAR pname_min_txt[90];            //存储每分钟降雨量的txt文件
TCHAR pname_sec[77];                //存储每秒钟降雨量的文件夹
TCHAR pname_sec_txt[117];            //存储每秒钟降雨量的txt文件 

f_mount(fs[0],"0:",1);
notepad_new_pathname_date(pname_date);            //建立文件夹
f_mkdir(pname_date);
// f_opendir(&dir,pname_date);

notepad_new_pathname_hour(pname_hour);
f_mkdir(pname_hour);
// f_opendir(&dir,pname_hour);
 
notepad_new_pathname_min(pname_min);
f_mkdir(pname_min);
// notepad_new_pathname_min_txt(pname_min_txt);
// f_opendir(&dir,pname_min);

notepad_new_pathname_sec(pname_sec);
f_mkdir(pname_sec);
notepad_new_pathname_sec_txt(pname_sec_txt);
f_opendir(&dir,pname_sec);
sprintf((char*)temp,"时间:20%02d-%02d-%02d %02d:%02d:%02d 温度:%02d.%02dC 当前每十秒的降雨量:%02d.%02d ",year,month,date,hour,min,sec,temperature/10,temperature%10,inrainfall/10,inrainfall/10,inrainfall%10);
f_open(file,pname_min_txt,FA_CREATE_ALWAYS | FA_WRITE);

for(be=0;be<170;be++)
f_write(file,school,170,&be);
f_lseek(file,166);
for(be=0;be<70;be++)
f_write(file,temp,70,&be);
f_close(file);

}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。