السلام عليكم
لكي نخلق ملف جديد نتبع هذه الاوامر
1- نحتاج الى مصفوفه لتوليد اسم ملف مثلا
كود:
char filename[14] = "MIKRO00x.TXT";
وأهم مافي مصفوفه انه ملف يجب ان يكون بأمتداد txt
كود:
void M_Create_Multiple_Files()
{
loop2='B';
filename[7] = loop2; // set filename
Mmc_Fat_Set_File_Date(2010, 4, 19, 9, 0, 0); // Set file date & time info
Mmc_Fat_Assign(&filename, 0xA0); // find existing file or create a new one
size=sizeof(file_contents);
Mmc_Fat_Rewrite(); // To clear file and start with new data
Mmc_Fat_Write(file_contents,size); // write data to the assigned file
}
2- نعطي اسم للملف مثلا filename[7] = loop2
اي يصبح اسم ملف MIKRO00B.TXT
3- نعطي تاريخ للملف (Mmc_Fat_Set_File_Date(2010, 4, 19, 9, 0, 0
وهذا هو تعريف داله اعطاء وقت
كود:
void Mmc_Fat_Set_File_Date(unsigned int year, unsigned short month, unsigned short day, unsigned short hours, unsigned short mins, unsigned short seconds);
طبعا الارقام التاريخ وقت يمكن وضع فيها متغيرات بحيث يمكن قراءه وقت وتاريخ لحظه خلق ملف
4- الان هذا هو الامر مهم
كود:
Mmc_Fat_Assign(&filename, 0xA0); // find existing file or create a new one
هذا الامر سوف يجعل مؤشر يوشير الى ملف الذي اسمه filename
اما 0xA0 معناه قم بأخلق ملف اذ لم يكن موجود
وهذه متكونه من اثنين الاول 0x20 وتعني ملف من نوع archive
0x80 هو لخلق ملف جديد
طبها يمكن مراجعه ملف مساعده في مايكروسي حول هذا موضوع
5-Mmc_Fat_Rewrite(); يقوم بتهيئه ملف وجعل مؤشر عند باديه السطر
هو مفروض يقوم بمسح البيانات والكتابه من جديد ولكن لم أرى ان يقوم بمسح البيانات ولكن يمكن حل مشكله
6- (size=sizeof(file_contents هذا الامر يقوم بأحتساب حجم مصفوفه وهذا الامر ايضا مهم
7- بعد كتابه اوامر اعلاه الان نقوم بخزن البيانات في الملف الذي اسمه MIKRO00B.TXT
يعني من تفتح ميمموري ستجد ملف بهذا الاسم MIKRO00B.TXT
ايضا هذا الامر
كود:
Mmc_Fat_Write(file_contents,size); // write data to the assigned file
file_contents هي مصفوفه
size هي حجم مصفوفه
أنتهى