PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل برنامه نویسی keil برای mmc



hamed20200
17-08-2011, 19:12
با سلام خدمت اساتید محترم ..
من میخواستم یک سری داده رو که در یک فایل متنی داخل mmc هست رو توسط میکرو بخونم و میکرو اونو تحلیل بکنه و بسته به چیزی که تو فایل متنی ، نوشته شده عمل کنه...
----
اما مشکلم اینجاس که نمیدونم چطور باید در برنامه که مینویسم بگم که بره و اون فایل مورد نظر رو بخونه ..در حقیقت دستورات خواندن از mmc رو برای برنامه ای که به زبون c مینویسم رو بلد نیستم
...
آیا در بین شما دوستان کسی هست که چنین کار یا مورد مشابهی انجام داده باشه و بهم بگه که چطور میتونم با mmc واسه این مورد کار کنم؟؟
-------
ممنون.

alireza9900
17-08-2011, 19:38
از کتابخونه FlashFS کیل استفاده کنید
توی این سه تا پست اول این صفحه (You can see links before reply) می تونید کرک و آخرین ورژن کیل رو پیدا کنید. هم چنین یه لینک هم هست برای کار با کتابخونه rlarm. از هلپ خود کیل استفاده کنید راحت می تونید با mmc/sd ارتباط برقرار کنید.
از کتابخونه FatFS هم می تونید استفاده کنید(ولی برای آرم با کیل همون کتابخونه کیل بهتره به نظرم)
FatFS (You can see links before reply)

موفق باشید

hamed20200
18-08-2011, 16:22
ممنون از محبتتون...اما دوست عزیز من خیلی با آرم کار نکردم fatfs واون فولدر FlashFSرو هم که شما گفتید رو رفتم یک فولدر هم به نامSD_File توش چند تا برنامه به زبان c نوشته شده بود ...
اما چون زبان برنامه نویسی من چندان خوب نیست متوجه نشدم که باید چکار کنم ... از دیروز عصری دارم نگاش میکنم اما چون درست حسابی راه نیوفتادم چیزی متوجه نمیشم :baad:..
میشه راهنمایی بیشتری بکنید؟؟
--------
من الان واسه اینکه mmc رو به صورت spi به میکرو وصل کنم باید چه کدی رو توی برنامه c بنویسم ..و همچنین وقتی دستوری مثل
f = fopen (fname,"r"); // open the file for reading
رو میزنم چه آدرسی بهش بدم که بره از تو mmc بخونه ؟؟
---------
خواهشا راهنمایی کنید...
بسیار بسیار ممنون...

hamed20200
18-08-2011, 20:33
با سلام مجدد..
من تونستم به نتایجی برسم اما بازم مشکلاتی دارم میشه کمکم کنید تا حلش کنم من از سایت کیل و از اینجا (You can see links before reply) یک مثلی برای خواندن از فایل گرفتم همچنین در این قسمت (You can see links before reply)..از سایت کیل گفته شده واسه انتخاب درایو باید چه کار کنم ..اما من هر چی برنامه مینویسم کیل کلی error میده ..میشه یک نگاهی بکنید به این قسمتا و بهم بگید که باید دقیقا چه کار کنم ؟؟
-----
ممنون.

hamed20200
20-08-2011, 18:29
هل من ناصر ینصرنی؟؟
...
هر روز که میگذره و میخونم کمتر میفهمم...
یکی نیست با mmc کار کرده باشه؟؟
من میخوام یک فایل text رو از mmc بخونم و از اون تو برنامه استفاده کنم ؟
آیا کسی نیست که این کارو کرده باشه؟؟؟؟؟؟؟
------
من الان یک هفته است دنبال این مطلب میگردم و به جای نمیرسم ..دارم دیوونه میشم:x:baad::unh:
-------
کسی نیست که به من کمک کنه؟؟؟؟؟؟؟؟-
-----
اگر کمکم کنید واقعا ازتون ممنون میشم...با سپاس وتشکر فراوان....

alireza9900
20-08-2011, 19:29
سلام
آقا شرمنده من این روزا یکم دسترسیم به اینترنت سخت بود نتونستم آن شم ادامه تاپیک رو بررسی کنم.
شما کدی رو که می گی نوشتی ارور داد رو بذار منم دوشنبه دیگه نتم دوباره اوکی میشه هر کمکی از دستم بر بیاد انجام می دم.

hamed20200
21-08-2011, 18:57
آقا خیلی ممنون از کمکاتون..واقعا ازتون ممنونم
کاش یه چی مینوشتم و از دستور ارور میداد !!! یعنی از همون اول که تابع هایی که معرفی کرده رو مینویسم ارور چرت میده!! ...ببینید برای مثال من تو برنامه چشمک زن یک پایه طبق گفته خودش یک فایل رو باز و سپس بدون هیچ استفاده!!! بسته میکنم ..برنامه اصلا معلوم نیست چی میگه و از چی ایراد میگیره!!!!


include <LPC23xx.h>#

#include <File_Config.h>
#include <stdio.h>
#include <rtl.h>
void wait(void)
{
long int i ;
FILE* ourfile ;
int isinitialize ;
finit (NULL);
isinitialize = finit ("C:\\Users\\amin\\Desktop\\ourfile.tex") ;
ourfile = fopen ( "C:\\Users\\amin\\Desktop\\ourfile.tex" , "r");
fclose (ourfile)
// int finit ( const char *s:) ;
for(i=0;i<4000000;i++);
}
int main(void)
{
FIO0DIR =1;
FIO0SET = 1;
wait();
FIO0CLR = 1;
wait();
}
------------------------

hamed20200
21-08-2011, 19:05
حالا سوالای من این هست
...
آیا اصلا این نوع کار منبرای خواندن فایل تکست از ام امسی و پردازش توسط میکرو درسته؟؟
حالا اگه فایل باز شد چطور به اطلاعات درونش دسترسی پیدا کنم؟؟
آیا چون دارم به صورتspi وصل میکنم نیازی نیست که کتابخونه spi.h هم به اول برنامه اضافه بشه؟؟
و یم مورد دیگه من تو مجله ایران میکرو یه قسمت در مورد اتصال eepram از طریق ارتباطi2c خوندم کلا واسه اس پی آی و ارتباط با فایلtext در داخلmmc برنامه ای شبیه به اون نباید بنویسم>؟؟
بعضی وقتا فک میکنم راهو اشتباه میرم آخه هرجا یه چی نوشته در مورد mmc مخم هنگ کرده دیگه!!!
.......
واقعا از کمکتون بسیار بسیار ممنونم.

agape
21-08-2011, 22:32
سلام به تمام دوستان
این کاری که شما میخوای انجام بدی خیلی ساده و راحته و مثل ماست میتونی از پسش بر بیای!
خوب برای شروع شما باید حافظه رو درایوش کنی اینجا حافظه شما MMC هست که خوشبختانه از پرتکل spiپشتیبانی میکنه و مشکلی نداره درایو کردنش خوب بعد از درای کردن کارت حافظه باید چند تا تابع اساسی داشته باشی اول تابعی که یک سکتور از حافظه بخونه و دوم تابعی که یک سکتور رو توی حافظه ذخیره کنه هر سکتور به طور استاندارد 512 بایت هست این میشه زیربنای کار شما!
توی این لینک همه چیز رو در مورد کارت حافظه گفته :wink:
302 Found (You can see links before reply)
خوب بعد از این کار شما باید بری سراغ فایل سیستم !
فایل سیستم چیزی هست که خونه های حافظه رو مدیریت میکنه و داده ها رو به صورت فایل توی حافظه ذخیره میکنه! برای کارت های حافظه ما دو نوع فایل سیستم داریم معمولا یکی fat16 و دیگری fat32 اگه حافظه شما از 4گیگ کمتر باشه فایل سیستمش میشه fat16 و اگر بیشتر باشه میشه fat32 حالا نحوی کار با فایل سیستم بماند براش کتابخونه اماده هست که میتونی از این لینک دانلود کنی:
302 Found (You can see links before reply)
اگرم خواستی بیشتر در مورد این فایل سیستم ها بودنی میتونی به لینک زیر مراجعه کنی:
Download the Microsoft EFI FAT32 File System Specification (You can see links before reply)
خوب حالا بریم به سرغ کار با فایل ها
برای باز کردن فایل از دستور f_open استفاده میکنی که اگه فایلت موجود باشه اونو باز میکنه و خروجی یه استارکچیر(ساختار) فایل بهت میده که معنیش اینه که این فایل الان باز شده
بعد میتونی با دستور های f_read , f_write به ترتیب از اون فایل بخونی یا توش داده بنویسی و البته این کتابخونه کلی تابع دیگه داره که بشرح متن زیر هستن:



f_mount (You can see links before reply) - Register/Unregister a work area
f_open (You can see links before reply) - Open/Create a file
f_close (You can see links before reply) - Close a file
f_read (You can see links before reply) - Read file
f_write (You can see links before reply) - Write file
f_lseek (You can see links before reply) - Move read/write pointer, Expand file size
f_truncate (You can see links before reply) - Truncate file size
f_sync (You can see links before reply) - Flush cached data
f_opendir (You can see links before reply) - Open a directory
f_readdir (You can see links before reply) - Read a directory item
f_getfree (You can see links before reply) - Get free clusters
f_stat (You can see links before reply) - Get file status
f_mkdir (You can see links before reply) - Create a directory
f_unlink (You can see links before reply) - Remove a file or directory
f_chmod (You can see links before reply) - Change attribute
f_utime (You can see links before reply) - Change timestamp
f_rename (You can see links before reply) - Rename/Move a file or directory
f_mkfs (You can see links before reply) - Create a file system on the drive
f_forward (You can see links before reply) - Forward file data to the stream directly
f_chdir (You can see links before reply) - Change current directory
f_chdrive (You can see links before reply) - Change current drive
f_getcwd (You can see links before reply) - Retrieve the current directory
f_gets (You can see links before reply) - Read a string
f_putc (You can see links before reply) - Write a character
f_puts (You can see links before reply) - Write a string
f_printf (You can see links before reply) - Write a formatted string
f_tell (You can see links before reply) - Get the current read/write pointer
f_eof (You can see links before reply) - Test for end-of-file on a file
f_size (You can see links before reply) - Get size of a file
f_error (You can see links before reply) - Test for an error on a file

و حالا چند تا مثال که کارت حسابی راه بیفته :
302 Found (You can see links before reply)
مثال هاش برای آرم هست تا AVR که پیش پا افتاده ترین میکرو هست:0013:

و اما سایت اصلی این کتابخونه که اپن سورس و متن باز هست :
302 Found (You can see links before reply)
این کتابخونه علاوه بر MMC هارد دیسک رو COMPACTDISC رو هم ساپروت میکنه که در نوع خودش شاهکاره ! فکر کنم برای هارد دیست پارتیشن رو هم ساپورت کنه
خلاصه این که بی نظیره:wink:
* در ضمن برای دانلود کلیک راست SAVE TARGET AS رو بزن

hamed20200
23-08-2011, 17:01
بسیار تشکر از شما...
من این قسمت هایی رو که شما برام گذاشتین و باقی منابعی که خودم و دوستان دیگر هم گفتن مطالعه میکنم و اگر تو این هفته تونستم خودم انجام میدم ( این پروژه رو حتما حتما باید وسطای شهریور به استادم تحویل بدم:sa:) .. اگر نشد میام سوالات ریزی که داشتم از شما دوست عزیز و محترم و سایر عزیزان میپرسم...
ممنون و سپاس فراوان..
من میرم اما مطمئنم که همین هفته !جهت سوال های دیگر در این مورد بر خواهم گشت:0013: