大家好,最近在学习如何使用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);
}
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文件
这一堆东东,放全局变量。再试试
---------------------------------
我试过了,还是会死。
一周热门 更多>