 |
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,673
|
|
نشاط [ حسن هادي محمود ]
قوة السمعة:
|
|
03-09-2013, 05:01 AM
المشاركة 11
|
|
|
;"char filename[] = "MYFILE55TXT
اعلان عن متغير عبارة عن مصفوفة لتخزين اسم الملف , TXT عبارة عن نوع صيغة الملف ماله دخل في الاسم الملف.
;"...unsigned char txt[] = "This is the added data
اعلان عن متغير ايضا مصفوفة لتخزين الكتابة اللي نبي نضيفه في الملف اللي راح يتم انشائه داخل الميموري.
;unsigned short character
اعلان عن متغير لقرأءة محتويات الملف, يعني يقوم بقراءة البيانات اللي تم كتابتها في الملف.
;unsigned long file_size, i
المتغير file_size راح يخزن حجم الملف اللي تم انشاؤه لاننا عندما ننشأ ملف ونريد قراءة محتوياته يجب علينا اولا تحديد حجمه, اما i راح يستخدم كعداد في اللوب عند قراءة البيانات باستمرار.
....................... الان داخل main function.......................................
;(Usart_Init(2400
راح نستخدم السريال بورت والبودرايت اي سرعة انتقال البيانات راح تكون 2400, راح نستخدم السريال بورت عشان نعرض البيانات المكتوبة داخل الملف, طبعا في البروتس شي اسمه virtual terminal لعرض البيانات بواسطة السريال بورت.
...هذه الأوامر الثلاثة في الاسفل مهمة يجب كتابتها عند استخدام الميموري في المايكروسي....
Spi_Init_Advanced(MASTER_OSC_DIV16,DATA_SAMPLE_MID DLE,
CLK_IDLE_LOW, LOW_2_HIGH);
هذا الامر يقوم بإخبار لغة المايكروسي باننا سنستخدم الميموري.
;((while(Mmc_Init(&PORTC,2)
يقوم بتعريف المنفذ port c بانه المنفذ اللي موصول فيه chip select او اختصار CS حق الميموري, الامر يقوم بتحديد عنوان الباس حق الميموري.
;((while(Mmc_Fat_Init(&PORTC,2
يقوم بتعريف FAT file system , طبعا عند التعامل مع الملفات في الميموري راح نستخدم نظام FAT في انشاء الملفات.
;(Mmc_Fat_Assign(&filename,0x80
يقوم بانشاء الملف كما تلاحظ قمنا بارسال المتغير اللي يحمل اسم الملف filename,
0x80 يعني اذا لم يكن الملف اصلا موجود, باختصار انشاء ملف بالاسم المحدد اذا لم يكن موجود.
;()Mmc_Fat_Rewrite
يقوم بعمل فورمات للملف اللي تم انشاؤه عشان نبدا نكتب بعض البيانات من جديد.
;(Mmc_Fat_Write("This is MYFILE.TXT.",19
هذا الامر يقوم بكتابة النص الموجود داخل علامة التنصيص , لاحظ مهم جدا عند الانتهاء من كتابة البيانات يجب كتابة حجم النص المكتوب رقما.
;()Mmc_Fat_Append
يقوم باعلام لغة المايكروسي باننا نريد اضافة بعض البيانات في الملف اللي تم انشاؤه , يعني راح يكون تكمله بعد النص اللي تم كتابته مؤخرا.
;((Mmc_Fat_Write(txt,sizeof(txt
الان هذا هو النص اللي نريد اضافته txt كما تعلم بان txt عبارة عن مصفوفة تحمل بعض البيانات تم الاعلان عنه في الاعلى,
وكما قلت بان بعد اضافة اي نص يجب علينا ذكر حجمه بس دي المرة راح نستخدم طريق ثانية , الامر sizeof يتيح لنا ذلك,
طبعا يتم كتابة الامر sizeof وداخله نقوم بكتابة المتغير اللي يحمل النص ,
اي ان الامر sizeof يقوم بكتابة حجم النص المكتوب اللي هو txt, كما تعلمون ان احيانا يكون صعب حساب كم حرف تم كتابته!!؟؟
لهذا نحتاج الامر sizeof .
;(Mmc_Fat_Reset(&file_size
يقوم بتجهيز الملف لعملية القراءة وايضا يقوم بكتابة حجم الملف اللي تم تهيئته في المتغيرfile_size , لاننا بحاجة لحجم الملف لعملية القراءة.
............... داخل الحلقة لوب لعملية القراءة........................
(++for(i=0; i<file_size; i
حلقة تدوم باستمرار على حسب حجم الملف في file_size.
;(Mmc_Fat_Read(&character
يقوم بقراءة محتويات الملف وتخزينه في المتغير character.
;(Usart_Write(character
يقوم بارسال البيانات التي تم قراءته الى السريال بورت.
<<<<<<<<<<<<<الحمدلله>>>>>>>>>>>>>>>>>
شباب لامانع لدي من نشر الموضوع لأي موقع للفائده.
ارجو من الكل الاستفادة.
سلام..........
|
سلام عليكم
اخي كريم
توجد تعاريف انت كتبتها تخص Mmc
مثلا
كود:
;(Mmc_Fat_Read(&character
وغيرها لم اجدها في مكتبه مايكروسي
هل هذه الاوامر ثابته ام انها موجوده في مايكروسي
|