اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h

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

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

    تابع یازدهم f_stat

    کد:
    FRESULT f_stat (
     const TCHAR* FileName, // Pointer to the file or directory name
     FILINFO* FileInfo    // Pointer to the FILINFO structure
    );


    (اشاره گر ساختار فایل ، نام فایل)f_stat
    هست

    حالا این تابع چیه و به چه درد میخوره؟
    برای به دست اوردن وضعیت فایل یا پوشه به کار میره

    ورودی و خروجی هاش؟
    دو ورودی داره
    1 : اشاره گر یا نام فایل DirObject یه اشاره گر به متغیری که باید قبل از این تابع از نوع استراکچر DIR تعریف شده باشه
    2- اشاره گر اسم فایل FileName یه اشاره گر به متغیری که باید قبل از این تابع از نوع TCHAR تعریف و مقدا دهی شده باشه

    و یک خروجی خطا داره که 11 حالت داره
    FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_NOT_ENOUGH_CORE

    توضیح خطا ها هم مثل توابع قبلی هست

    برای استفاده از این تابع FS_MINIMIZE_ باید کوچکتر یا مساوی یک باشد

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

    دیدگاه


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

      تابع دوازدهم f_mkdir

      کد:
      FRESULT f_mkdir (
       const TCHAR* DirName // Pointer to the directory name
      );


      (نام پوشه)f_mkdir
      هست

      حالا این تابع چیه و به چه درد میخوره؟
      برای ایجاد یک پوشه جدید به کار میره

      ورودی و خروجی هاش؟
      یک ورودی داره
      1- اشاره گر اسم پوشه DirName یه اشاره گر به متغیری که باید قبل از این تابع از نوع TCHAR تعریف و مقدا دهی شده باشه

      و یک خروجی خطا داره که 14 حالت داره
      FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_PATH, FR_INVALID_NAME, FR_DENIED, FR_EXIST, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_NOT_ENOUGH_CORE

      توضیح خطا ها هم مثل توابع قبلی هست

      برای استفاده از این تابع FS_MINIMIZE_ و FS_READONLY_ باید مساوی صفر باشند

      مثال
      کد:
        res = f_mkdir("sub1");
        res = f_mkdir("sub1/sub2");
        res = f_mkdir("sub1/sub2/sub3");


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

      دیدگاه


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

        با عرض سلام و خسته نباشید :icon_razz:
        خدمت تمامی دوستان مخصوصاً مهندس اسدی عزی ز که حسابی زحمت کشیدن بابت این تاپیک
        12 تابعی که آقای اسدی تا الان توضیح دادن در یک فایل pdf
        http://s2.picofile.com/file/7186305799/12func.pdf.html
        دوستان اگر مشکلی در فایل بود لطفاً اطلاع بدید
        با تشکر
        :bye
        برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

        دیدگاه


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

          من میخوام با سریال از طریقه کامپیوتر یه فایل با تعداد بایت نامشخصو بریزم تو میکرو و اونجا تو MMC ذخیره کنم این کدمه که جواب نمیده یکی کمک میکنه که درستش کنم
          UINT br;
          FIL serial;
          FATFS fs;
          interrupt [USART0_RXC] void usart0_rx_isr(void)
          {
          char rtca[10]="hm.dat";
          unsigned char input[1];
          scanf("%c",input);
          strcpyf(rtca ,"hm.dat"
          f_mount(0,&fs);
          f_open(&serial,rtca,FA_OPEN_ALWAYS | FA_WRITE);
          f_lseek(&serial,0);
          f_write(&serial,input,1,&br);
          f_close(&serial);
          }

          دیدگاه


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

            اینجوری که نمیشه. وقفه برای این کارها نیست. اول باید در وقفه اطلاعات رو در یک بافر مثل یک بافر حلقوی ذخیره کنین بعد در سیکل اصلی برنامه اون اطلاعات رو در فایلتون بریزین.
            وقفه برای اطلاع وقوع شرایط خاصی به برنامه هست. همچین عمل سنگینی رو نباید در وقفه انجام داد.
            مضاف بر اینکه در این مرحله هیچ نمیشه گفت که آیا روالهای داخلی ff رو میشه از داخل وقفه (وقتی وقفه ها غیر فعال هستن) صدا زد. مضاف بر اینکه ممکنه سرعت دریافت اطلاعات در وقفه بسیار بیشتر از سرعت نوشتن یک بایت یک بایت در فایل باشه.

            دیدگاه


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

              نوشته اصلی توسط hossein_tomari007
              l]
              دوستان اگر مشکلی در فایل بود لطفاً اطلاع بدید
              باسلام و ممنون از زحمتتان
              مشکلی که ندارند خیلی هم ممنون ولی شما که زحمت کشیدید مثالهایی را هم که در رابطه با هر تابعی زده شده زیر همان تابع در فایلتان اضافه نمایید.
              با سپاس
              مولای من
              نخواهمت که بگریی ولی به گریه دعا کن که وقت رفتن ایام انتظار بیاید

              یا رب الحسین بحق الحسین اشف صدر الحسین بظهورالحجه

              دیدگاه


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

                نوشته اصلی توسط رضا آقازاده
                اینجوری که نمیشه. وقفه برای این کارها نیست. اول باید در وقفه اطلاعات رو در یک بافر مثل یک بافر حلقوی ذخیره کنین بعد در سیکل اصلی برنامه اون اطلاعات رو در فایلتون بریزین.
                وقفه برای اطلاع وقوع شرایط خاصی به برنامه هست. همچین عمل سنگینی رو نباید در وقفه انجام داد.
                مضاف بر اینکه در این مرحله هیچ نمیشه گفت که آیا روالهای داخلی ff رو میشه از داخل وقفه (وقتی وقفه ها غیر فعال هستن) صدا زد. مضاف بر اینکه ممکنه سرعت دریافت اطلاعات در وقفه بسیار بیشتر از سرعت نوشتن یک بایت یک بایت در فایل باشه.
                رو این فکر نکرده بودم که ممکنه سرعت دریافت اطلاعات در وقفه بسیار بیشتر از سرعت نوشتن یک بایت یک بایت در فایل باشه
                حالا چجوری برنامه رو تکمیل کنیم
                خود میکرو که 4kb بیشتر ram نداره اونم تو حالت خوشبیناته که نمیشه اطلاعت 1mb توش ذخیره کرد

                دیدگاه


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

                  نوشته اصلی توسط Nakh0d4
                  رو این فکر نکرده بودم که ممکنه سرعت دریافت اطلاعات در وقفه بسیار بیشتر از سرعت نوشتن یک بایت یک بایت در فایل باشه
                  حالا چجوری برنامه رو تکمیل کنیم
                  خود میکرو که 4kb بیشتر ram نداره اونم تو حالت خوشبیناته که نمیشه اطلاعت 1mb توش ذخیره کرد
                  با سلام خدمت دوست عزیز :biggrin:
                  میتونی یه بافر 512 بایتی یا 1 کیلو بایتی درست کنی اطلاعات دریافتی رو بریزی تو بافر بعد بنویسی تو mmc
                  فقط یه خواهش که این تاپیک آموزشی هستش از سوالات غیر مربوط خودداری کنید خواهشاً!!!!
                  برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                  دیدگاه


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

                    با سلام. با تشکر از همه شما عزیزان مخصوصا آقای اسدی بابت ایجاد این تاپیک.
                    یک سوال داشتم و اون اینه که در همه فایل ها زمان modify و ... بعد هر عملیات ثبت میشه؟ درسته؟
                    و این که در این کتابخانه هم این قابلیت وجود داره و در صورت بله چطور این کار صورت میگیره؟
                    بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                    موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
                    نلسون ماندلا

                    دیدگاه


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

                      سلام . آقای اسدی لطف کردید و توابع اصلی رو گفتید :job:
                      حالا اگه لطف کنید باقی توابع رو هم یک جا بگید تا پرونده این تاپیک بسته بشه از شما متشکر میشیم.
                      پیشاپیش از کمکهاتون متشکریم.
                      http://qsmile.com/qsimages/124.gif

                      دیدگاه


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

                        نوشته اصلی توسط رضا بابایی
                        با سلام. با تشکر از همه شما عزیزان مخصوصا آقای اسدی بابت ایجاد این تاپیک.
                        یک سوال داشتم و اون اینه که در همه فایل ها زمان modify و ... بعد هر عملیات ثبت میشه؟ درسته؟
                        و این که در این کتابخانه هم این قابلیت وجود داره و در صورت بله چطور این کار صورت میگیره؟
                        با سلام
                        شرمنده که کمی دیر جواب میدم سرم شلوغه

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

                        حتما این قابلیت باید وجود داشته باشه در غیر این صورت که نوشتن و ایجاد کردن یک فایل مشکل خواهد داشت
                        در این توابع این امکان با یک تابع به نام get_fattime صورت میگیره که کاربر در صورت فعال کردن امکان رایت باید بنویستش
                        به این صورت که خروجی این تابع یه عدد 32 بیت باشه که اطلاعات RTC به این صورت درون این 32 بیت قرار میگیرند

                        bit4:0 ثانیه تقسیم بر دو است که مقدارش باید عددی از 0 تا 29 باشه
                        bit10:5 دقیقه است که باید عددی بین 0 تا 59 باشه
                        bit15:11 ساعته که باید عددی بین 0 تا 23 باشه
                        bit20:16 روزه که باید عددی بین 1 تا 31 باشه
                        bit24:21 ماهه که باید عددی بین 1 تا 12 باشه
                        bit31:25 هم ساله که باید عددی بین 0 تا 127 باشه ابتدا از سال 1980 یعنی برای سال 2011 باید عدد 31 رو بهش بدین

                        یعنی یه چیزی مثل این مثال
                        کد:
                        DWORD get_fattime (void)
                        	{
                        	RTC rtc;
                        	rtc_gettime(&rtc);
                        	return	 ((DWORD)(rtc.year - 1980) << 25)
                        			| ((DWORD)rtc.month << 21)
                        			| ((DWORD)rtc.mday << 16)
                        			| ((DWORD)rtc.hour << 11)
                        			| ((DWORD)rtc.min << 5)
                        			| ((DWORD)rtc.sec >> 1);
                        	}


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

                        دیدگاه


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

                          کسی تونسته مثال های خود سایت chan رو راه بندازه (با GCC) ؟
                          چه FAT و چه petitFAT؟
                          برای مگا 8 میخوام که فکر میکنم همون petit باید استفاده کنم.
                          بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                          موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
                          نلسون ماندلا

                          دیدگاه


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

                            نوشته اصلی توسط رضا بابایی
                            کسی تونسته مثال های خود سایت chan رو راه بندازه (با GCC) ؟
                            چه FAT و چه petitFAT؟
                            برای مگا 8 میخوام که فکر میکنم همون petit باید استفاده کنم.
                            با سلام
                            دوست من بنده همه مثالها و توضیحاتی که میدم با توجه به ترجمه توضیحات این دوست خوب چینیمونه و اصلا از لایبری خود کدویژن استفاده نکردم
                            ولی نه با خود GCC بلکه با WINAVR یا کدویژن استفاده میکنم
                            در مورد توابع PFF اگر لازم بود بفرمایید تا مثالی در پست های بعدی قرار دهم

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

                            دیدگاه


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

                              نوشته اصلی توسط POLESTAR
                              با سلام
                              دوست من بنده همه مثالها و توضیحاتی که میدم با توجه به ترجمه توضیحات این دوست خوب چینیمونه و اصلا از لایبری خود کدویژن استفاده نکردم
                              ولی نه با خود GCC بلکه با WINAVR یا کدویژن استفاده میکنم
                              در مورد توابع PFF اگر لازم بود بفرمایید تا مثالی در پست های بعدی قرار دهم

                              به همین سادگی:nice:
                              خیلی ممنون از شما.
                              اگه امکان داره مثال برای ایجاد یک فایل متنی و نوشتن در آن از کتابخانه FAT بزنید؟
                              سوال دومم از کتابخانه PETIT هست که اگر میشه در مورد مثال زیر که در سایت خود chan وجود داره و یک wave player هست مقداری توضیح بدهید:
                              http://elm-chan.org/works/sd8p/report.html
                              با تشکر از شما.
                              بگذارعشق خاصیت تو باشد نه رابطه خاص تو باکسی
                              موفقیت پیش رفتن است نه به نقطه ی پایان رسیدن
                              نلسون ماندلا

                              دیدگاه


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

                                نوشته اصلی توسط رضا بابایی
                                خیلی ممنون از شما.
                                اگه امکان داره مثال برای ایجاد یک فایل متنی و نوشتن در آن از کتابخانه FAT بزنید؟
                                سوال دومم از کتابخانه PETIT هست که اگر میشه در مورد مثال زیر که در سایت خود chan وجود داره و یک wave player هست مقداری توضیح بدهید:
                                http://elm-chan.org/works/sd8p/report.html
                                با تشکر از شما.
                                با سلام
                                در این مثال که میفرمایید چون از یه میکروی نایاب توی ایران استفاده شده و همچنین فقط رید داره و درش رایت استفاده نشده و همچنین برای کم کردن هجم فلش از دستورات اسمبلی استفاده شده لذا برای توضیح دادن pff مورد خوبی نیست
                                اما خود بنده یه مورد مشابه رو حتما به زودی در پست قرار خواهم داد
                                در مورد مثال فایل متنی هم حتما به زودی در پست های بعدی قرار خواهم داد

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

                                دیدگاه

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