اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : کتابخانه ff.h

    با سلام،

    ضمن تشکر از جناب اسدی، تکمیل میکنم که این برادر ChaN هر جایی به فراخور نیازش، این ()die رو یه طوری نوشته، در آخرین ورژن اینطوریه :

    کد:
    /*------------------------------------*/
    /* Abort program with a dying message */
    
    void die (const char *str)
    {
    	/* Put message */
    	puts(str);
    
    	/* Delete aborted output file */
    	if (hDst != INVALID_HANDLE_VALUE) {
    		CloseHandle(hDst);
    		DeleteFile(OutFile);
    	}
    
    	/* Discard all resources */
    	if (WavData) free(WavData);
    	if (Getfrm) AVIStreamGetFrameClose(Getfrm);
    	if (AviAs) AVIStreamRelease(AviAs);
    	if (AviVs) AVIStreamRelease(AviVs);
    	if (Avifile) AVIFileRelease(Avifile);
    	if (WavData) free(WavData);
    	AVIFileExit();
    
    	exit(1);
    }
    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

    Sh_Nourbakhsh@Yahoo.com

    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

    دیدگاه


      پاسخ : کتابخانه ff.h

      سلام
      ممنونم از همه رفقا که این همه چرت پرت نوشتن(بد نگیرین منظورم چرت پرت کاربردیه!)
      حالا من به یه مشکل بر خوردم میخام یه فایل لوگ بسازم یعنی کلیه عملیاتی که شکل میگیره رو ذخیره کنه خوب مشکل اینجاست که فایل رو ایجاد کردم و اصلاعات اول رو میریزم حالا دستگاه رو روشن و خاموش میکنم و میبینم که اطلاعات قبلی پاک شدن و اطلاعات جدید جایگزین شده!!
      حالا روش خودم این هست که اول ببینم تا کجا نوشتم بعد با دستورseek سکتور رو جابجا کنم و اطلاعات جدید رو بنویسم که نمیدونم چطوری ببینم تا کجا قبلا نوشتم کسی میدونه باید چکار کنم؟؟

      -------------------------------------------
      مشکل حل شد
      اینجوری
      f_lseek (&File2,f_size(&File2)+1);
      انجام پروژه های برنامه نویسی اندروید
      [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
      http://cafebazaar.ir/app/?id=com.atxdroid

      دیدگاه


        پاسخ : کتابخانه ff.h

        نوشته اصلی توسط POLESTAR
        با سلام
        حالا دیگه چرا خودتو میزنی ؟؟؟؟؟؟؟
        این تابعی که میگی چی هست؟؟؟؟
        اصلا میخوای چیکار کنی؟
        اگر فقط میخوای یه فایل ایجاد کنی باید از تابع f_open استفاده کنید

        به این صورت


        کد:
        f_open(&fsrc, "1:test.txt", FA_CREATE_NEW )

        با این دستور متونید یک فایل با نام test.txt در درایو 1 ایجاد کنید
        همه اینهارو در پست 25 توضیح دادم لطفا کمی مطاله کنید

        http://www.eca.ir/forum2/index.php?topic=55074.msg295429#msg295429

        به همین سادگی :nice:
        اینو میدونم
        میگم کتابخونه ناقصه
        میگه این تابع وجود نداره ، :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:
        دلا خو کن به تنهایی که از تنها بلا خیزد

        دیدگاه


          پاسخ : کتابخانه ff.h

          نوشته اصلی توسط Navid_Micro
          اینو میدونم
          میگم کتابخونه ناقصه
          میگه این تابع وجود نداره ، :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry: :angry:
          با سلام،

          کتابخونه اصلا ناقص نیست، خیلی هم کامله، شما در استفاده از اون مشکل داری!
          تابع f_open دقیقا در فایل ff.c قرار داره و تابع ff_convert هم در فایل های دایرکتور Code Page قرار داره ( src\option\... ).....

          اما یه نکته : به هدر فایل ffconf.h یه نگاهی بنداز، در این فایل میشه با تنظیم فلگ ها، عملکرد توابع رو تغییر داد تا استفاده از توان میکرو، حافظه، رم و سایر منابع، به فراخور نیاز شما باشه. شما باید این فایل رو دقیق بخونید و بدرستی فلگ ها رو ست کنید. مثلا بطور پیش فرض، CodePage برای زبان ژاپنی است و Unicode غیر فعاله و یا LFN غیر فعاله ( که در اینصورت ff_convert هم غیر فعال میشه! ) .....

          مثلا شما به تنظیمات این دو تا فلگ در هدر فایل توجه کنید :

          کد:
          #define	_USE_LFN	0		/* 0 to 3 */
          #define	_MAX_LFN	255		/* Maximum LFN length to handle (12 to 255) */
          /* The _USE_LFN option switches the LFN support.
          /
          /  0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
          /  1: Enable LFN with static working buffer on the BSS. Always NOT reentrant.
          /  2: Enable LFN with dynamic working buffer on the STACK.
          /  3: Enable LFN with dynamic working buffer on the HEAP.
          /
          / The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. To enable LFN,
          / Unicode handling functions ff_convert() and ff_wtoupper() must be added
          / to the project. When enable to use heap, memory control functions
          / ff_memalloc() and ff_memfree() must be added to the project. */

          در کل، این توابع بسیار کامل و پیچیده هستند. با کپی کردن محض و عدم درک درست از توابع، فلگ ها و دستورات و همچنین عدم تنظیم درست اونها نمیشه از اون استفاده کرد ................
          مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

          Sh_Nourbakhsh@Yahoo.com

          http://s2.picofile.com/file/7170362468/_Wall_e_.jp

          دیدگاه


            پاسخ : کتابخانه ff.h

            دوستان من با همین تابع دارم کار میکنم و یه طورایی جواب گرفتم اما ...
            پایه CS مموری رو روی PB.4 تعریف کردم، دفعه اول فقط دستور if ((res=f_mount(0,&drive))==FR_OK) اکی میشه و روی LCD پیام مورد نظر چاپ میشه، بعد CS رو جدا میکنم و روی PB.3 قرار میدم و بعد از ریست کردن با کمال تعجب میبینم داره کار میکنه!!!!!!!!!
            فایل میسازه، بازش میکنه، توش مینویسه، میبنده و دوباره بازش میکنه و میخونه و اطلاعات رو چاپ میکنه!
            میکروی من mega32a .
            با کدویژن 2.5.3 کار میکنم.
            اسیلاتور خارجی 14.745600 MHz استفاده کردم.
            از SD کارت استفاده میکنم.
            برا تغذیه SD هم از رگولاتور و هم از دیود زنر استفاده کردم.
            خازن های صافی گذاشتم.
            با یه میکروی دیگه تست کردم.
            خداییش موندم دیگه چیکار کنم :angry:
            دوستان لطفا راهنمایی کنید :sad:

            دیدگاه


              پاسخ : کتابخانه ff.h

              سلام دوستان نماز و روزه همگی قبول باشه
              من از این کتابخونه استقاده کردم و با یک mmc ارتباط برقرار کردم حالا اگه از کتابخونه spi برای ارتباط با یه میکرو دیگه استفاده کنم مشکلی پیش نمی یاد؟ کسی برنامه ای داره هچین کاری کرده باشه؟ لطفا راهنمایی کنید

              دیدگاه


                پاسخ : کتابخانه ff.h

                نوشته اصلی توسط احمد نعمتی
                سلام دوستان نماز و روزه همگی قبول باشه
                من از این کتابخونه استقاده کردم و با یک mmc ارتباط برقرار کردم حالا اگه از کتابخونه spi برای ارتباط با یه میکرو دیگه استفاده کنم مشکلی پیش نمی یاد؟ کسی برنامه ای داره هچین کاری کرده باشه؟ لطفا راهنمایی کنید
                با سلام
                دوست من بنده در پروژه

                شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

                علاوه بر مموری ایسیهای VS1003 و ADS7846 رو که هر دو با SPI کار میکنند استفاده کردم
                امیدوارم مفید باشه
                در ضمن زیاد هم سخت نیست هرکدوم از دیوایسهایی که با SPI کار میکنند یه پین به نام CS یا SS یا همون چیپ سلکت داره که که باید هرکدوم جداگانه یه یکی از پینهای میکرو میره ولی پینهای MISO و MOSI و SCK به صورت مشترک بین میکرو و ایسیها متصل میشه

                به تصویر زیر توجه کنید



                در لینک زیر هم به صورت کامل در مورد SPI توضیح داده شده است

                http://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

                به همین سادگی :nice:
                تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                دیدگاه


                  پاسخ : کتابخانه ff.h

                  -
                  تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                  به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                  دیدگاه


                    پاسخ : کتابخانه ff.h

                    اولاً از همه ی دوستان مخصوصا مهندس اسدی به خاطر مطالب فوق العاده مفیدشون خیــــــــــــــــــــــلی تشکر میکنم.
                    دوماً میشه یکی در مورد فایل های توی پوشه option در این مجموعه ی FATFS توضیح بده؟ این فایل ها مال چه کاری؟ چطوری نوشته میشه یعنی این کدایی که توش نوشته شده چطوری به دست اومده؟ oo:
                    راستی بقیه توابع رو نمیگید؟؟ یا مهم نیستن؟!!
                    آمده ایم که با زندگی کردن قیمت بگیریم
                    نیامده ایم که با هر قیمتی زندگی کنیم

                    دیدگاه


                      پاسخ : کتابخانه ff.h

                      نوشته اصلی توسط NH122
                      اولاً از همه ی دوستان مخصوصا مهندس اسدی به خاطر مطالب فوق العاده مفیدشون خیــــــــــــــــــــــلی تشکر میکنم.
                      دوماً میشه یکی در مورد فایل های توی پوشه option در این مجموعه ی FATFS توضیح بده؟ این فایل ها مال چه کاری؟ چطوری نوشته میشه یعنی این کدایی که توش نوشته شده چطوری به دست اومده؟ oo:
                      راستی بقیه توابع رو نمیگید؟؟ یا مهم نیستن؟!!
                      با سلام

                      توابع دیگه زیاد مهم نیستن یعنی اگر کسی بتونه با همین توابعی که توضیحاتشون داده شده به خوبی کار بکنه یعنی اینکه گوشی اومده دستش و یه راحتی میتونه با توابع دیگه (البته به ندرت ازشون استفاده میشه) بدون مشکل کار کنه ولی اگر بازم مشکلی داشته باشید بفرمایید تا بیشتر توضیح بدم
                      البته باید بگم که خود من هم زیاد با این توابه کار نکردم از اجمله این توابع میشه به
                      تابع f_fdisk که معلومه دیگه همون دستور FDISK کامپیوتره یا
                      تابع f_mkfs که باز معلومه فایل های سیستمی درایو رو ایجاد میکنه یا
                      تابع f_rename هست که باز معلومه اسم فایل رو میشه باهاش تغییر داد یا فایل یا پوشرو جابجا کرد یا
                      تابع f_size که سایز فایل رو برمیگردونه و ......

                      اما در مورد پوشه option باید بگم این فایل ها کدپیج ها مختلف هر زبان رو به برنامه اضافه میکنه مثلا اگر قراره شما فایلی با نامی به جز کاراکترهای استاندارد اسکی ایجاد کنید یا فایل رو ویرایش کنید به طوری که از کاراکترهایی به جز کاراکترهای اسکی در ویرایش فایل استفاده کنید باید کدپیج های اون زبان رو به لایبرری اضافه کنید که در این پوشه فایلهایی برای اضافه کردن این کد پیجها قرارداده شده است

                      برای انتخاب کد پیجهای مختلف باید از فایل ffconf.h مقدار دیفاین _CODE_PAGE رو به نصبت توضیحات زیرش تغییر بدید مثلا اگر قراره به زبان فارسی (عربی) کار بشه باید این دیفاین رو برابر 720 بگیرید

                      کد:
                        932 - Japanese Shift-JIS (DBCS, OEM, Windows)
                        936 - Simplified Chinese GBK (DBCS, OEM, Windows)
                        949 - Korean (DBCS, OEM, Windows)
                        950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
                        1250 - Central Europe (Windows)
                        1251 - Cyrillic (Windows)
                        1252 - Latin 1 (Windows)
                        1253 - Greek (Windows)
                        1254 - Turkish (Windows)
                        1255 - Hebrew (Windows)
                        1256 - Arabic (Windows)
                        1257 - Baltic (Windows)
                        1258 - Vietnam (OEM, Windows)
                        437 - U.S. (OEM)
                      > 720 - Arabic (OEM)
                        737 - Greek (OEM)
                        775 - Baltic (OEM)
                        850 - Multilingual Latin 1 (OEM)
                        858 - Multilingual Latin 1 + Euro (OEM)
                        852 - Latin 2 (OEM)
                        855 - Cyrillic (OEM)
                        866 - Russian (OEM)
                        857 - Turkish (OEM)
                        862 - Hebrew (OEM)
                        874 - Thai (OEM, Windows)
                        1 - ASCII only (Valid for non LFN cfg.)


                      در ضمن یه موردی هم از این اقای چان بگم که ایشون چینی نیستن بلکه ژاپنی هستن چون قبلا خود بنده به اشتباه ایشون رو چینی معرفی کرده بودم که اینطور نیست

                      به همین سادگی :nice:
                      تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                      به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                      دیدگاه


                        پاسخ : کتابخانه ff.h

                        با سلام مجدد

                        دوستان یه برنامه ساده به عنوان رفرنس نوشتم که میخوام اینجا قرار بدم

                        ابن برنامه که فایل هگز و سورس برنامه و شماتیکش همه در این فایل فشرده هست یک فایل TXT به نام test.txt در داخل مموری ایجاد میکنه و داخل این فایل جمله Hello World رو مینویسه .
                        در ضمن در این برنامه از لایبرری خود کدویژن استفاده نشده و فایل های مورد نیاز پروژه همه درکنار برنامه موجود هست!!!!!

                        امیدوارم مفید باشه

                        به همین سادگی :nice:
                        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                        دیدگاه


                          پاسخ : کتابخانه ff.h

                          سلام دوستان
                          چه جوری میشه که اندازه یک فایل رو بدست آورد البته یک برنامه نوشتم که مقدار fsize چک می کرد ولی اعدادی که بدست می اومد با حجم فایل تناسبی نداشت لطف راهنمایی کنید

                          دیدگاه


                            پاسخ : کتابخانه ff.h

                            سلام خدمت مهندسای عزیز
                            دوستان من توضیحاتی که دادیدو انجام دادم و یه برنامه هم نوشتم اما با کتابخونه خود کدویژن اما متاسفانه فایلو باز نمیکنه و نمیخونه.حتی یه حلقه نوشتم که وقتی فایلو باز کرد رو ال سی دی بنویسه ولی گویا داخل حلقه نمیره
                            به صورت عملی تستش میکنم
                            ممنون میشم کمکم کنید و بگید اشکال از چیه.فایلو میذارم اینجا
                            راستی disk_timerproc(); چیه که هر 10 میلی ثانیه باید فراخونی بشه؟ :read: :cry2: :question:

                            [ftp=ftp://s3.picofile.com/file/7497902147/FAT.zip.html]http://s3.picofile.com/file/7497902147/FAT.zip.html[/ftp]

                            دیدگاه


                              پاسخ : کتابخانه ff.h

                              سلام
                              از دوستان کسی میدونه تابع disk_timerproc(); چیه که هر 10 میلی ثانیه باید فراخونی بشه
                              البته این تابع فقط برای استفاده از کتابخانه ی ff کدویژن هستش
                              ممنون میشم کمکم کنید

                              دیدگاه


                                پاسخ : کتابخانه ff.h

                                نوشته اصلی توسط mohammadttl
                                سلام
                                از دوستان کسی میدونه تابع disk_timerproc(); چیه که هر 10 میلی ثانیه باید فراخونی بشه
                                البته این تابع فقط برای استفاده از کتابخانه ی ff کدویژن هستش
                                ممنون میشم کمکم کنید
                                دوست من این تابع وجود یا عدم وجود مموری و همچنین قفل بودن اون رو چک میکنه البته اگه پینهای مربوطه استفاده شده باشن
                                در اکثر موارد که دوستان نمیتونن از این کتابخونه جواب بگیرن دلیلش اینه که دو تا پین CD یا (card detect) و WP یا (write protected) رو جدی نمیگیرند

                                البته در برنامه به چند تا متغیر (برای محاسبه زمان timeout) هم نیاز هست که در این تابع مقدارشون افزایش پیدا میکنه

                                به همین سادگی :nice:
                                تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                                به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                                دیدگاه

                                لطفا صبر کنید...
                                X