اطلاعیه

Collapse
No announcement yet.

[آموزش] نحوه استفاده از کتابخانه pff.h

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

    پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

    نوشته اصلی توسط Abbas Sarami
    بریم سراغ یک تابع دیگه
    امروز تابع pf_lseek را بررسی میکنیم
    فرم تابع به این شکله :
    کد:
    FRESULT pf_lseek (DWORD);						/* Move file pointer of the open file */
    خوب مشخصه که تابع 1 ورودی و خروجی FRESULT داره
    این تابع کمک میکنه که شما اگه آدرس خاصی از فایل را بخواهید بخوانید بتوانید آنرا انتخاب کنید
    مثلاْ من میخواهم از بایت 5 به بعد فایل را بخوانم بایدقبل از تابع pf_read این طوری بنویسم:
    کد:
    pf_lseek (5);

    در ضمن باید تابع را در فایل pff.h فعال کنید
    کد:
    #define	_USE_LSEEK	1	/* 1:Enable pf_lseek() */
    موفق باشید
    جناب صرامی راهی هست بیشتر 32 بیت به ارگومان این تابه ادرس داد؟
    در پروژه تابلو روان حجم فایل بالاس بخاطر همین عرض میکنم.
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      پاسخ : پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

      نوشته اصلی توسط •.´™ مَسِِــــح`.•
      جناب صرامی راهی هست بیشتر 32 بیت به ارگومان این تابه ادرس داد؟
      در پروژه تابلو روان حجم فایل بالاس بخاطر همین عرض میکنم.
      :-?
      چنین تغییری شاید ساده نباشه (وقت گیر باشه)، متغیر بیش از 32 بیت در AVR معنی نداره مثلاً کدویژن اصلاً متغیر long long را پشتبانی نمیکنه :NO:
      اگه امکانش هست فایل را به چند تا فایل مختلف تقسیم کن

      موفق باشید
      امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


        پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

        دوستان من مشکلم حل شد ولی نمیدونم چطوری .
        وقتی دستور نوشتن تو mmc رو به تنهایی استفاده میکنم ، درست کار نمیکنه و بگیر نگیر داره یا تعداد زیاد نمیشه توش نوشت و بعد از یک حجم خاص از اطلاعات دیگه چیزی نوشته نمیشه ولی وقتی دستور رو به شکل حلقه ای که جناب polestar نوشته بودن مینویسم و تعداد دفعات تکرار حلقه رو یک بار میگذارم ، دیگه مشکلی ندارم
        یعنی اینطوری :

        for (i=0; i<1; i++)
        sprintf(buff,"%5u=\t %s/%s/%s",num1,buf1,buf2,buf3,);
        if (pf_write(buff, 100, &bw) || !bw) break;
        {
        میشه لطفا برام این دستورات رو توضیح بدید که چه اتفاقی میفته ؟
        Don't hesitate to ask any question ..

        دیدگاه


          پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

          سلام دوستان من وقتی میخام sd بخونم باید یکبار اونو خارج کنم و دوباره جا بزنم روی بِرد برد تست میکنم
          اینم برد تبدیلم هستش

          ممنون میشم کمک کنین...


          .The best question deserves a better answer
          =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
          «پناه»می برم «به خدا»
          از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
          محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

          دیدگاه


            پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

            با سلام خودمت دوستان
            یه سوال برام پیش اومده . تابع disk_initialize به صورت زیر اعلان شده
            کد:
            DSTATUS disk_initialize (void);
            خب همونطور که مشاهده میکنین ، مقدار بازگشتی اون از نوع DSTATUS می باشد.
            که DSTATUS در داخل فایل diskio.h به صورت زیر تعریف شده
            کد:
            typedef BYTE	DSTATUS;
            یعنی اینکه از نوع BYTE هست . خود BYTE نیز داخل فایل integer.h به صورت زیر تعریف شده
            کد:
            typedef unsigned char	BYTE;
            حالا با توجه به شکل زیر برام یه سوال پیش اومده ؟



            اینکه مقدار بازگشتی ما از نوع unsigned char هست چگونه به یه متغیری که داخل enum هست مقایسه میشه؟

            مقدار FR_OK داخل یک enum با نام FRESULT قرار گرفته ( درون فایل pff.h )
            کد:
            typedef enum {
            	FR_OK = 0,		  /* 0 */
            	FR_DISK_ERR,		/* 1 */
            	FR_NOT_READY,		/* 2 */
            	FR_NO_FILE,		  /* 3 */
            	FR_NO_PATH,		  /* 4 */
            	FR_NOT_OPENED,		/* 5 */
            	FR_NOT_ENABLED,		/* 6 */
            	FR_NO_FILESYSTEM	/* 7 */
            } FRESULT;
            پس باید مقدار بازگشتی ما هم از همین نوع باشه تا بتونه با هم مقایسه بشن.
            اینم اضافه کنم برنامه بدرستی کار میکنه(فایلی که اقای بیرامی قرار دادن).
            شایدم من درست متوجه کد نشدم
            ممنون میشم راهنماییم کنین.
            یاعلی
            در کشور های غربی انتقال تجربیات و دانش به افراد مبتدی یک پیشرفت محسوب شده و به آن مدیریت دانش می گویند. ولی متاسفانه این فرهنگ هنوز در کشور ایران رایج نشده است !!!

            دیدگاه


              پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

              مهندسین گرامی کسی نیست راهنمایی کنه !
              در کشور های غربی انتقال تجربیات و دانش به افراد مبتدی یک پیشرفت محسوب شده و به آن مدیریت دانش می گویند. ولی متاسفانه این فرهنگ هنوز در کشور ایران رایج نشده است !!!

              دیدگاه


                پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                نوشته اصلی توسط sejil
                با سلام خودمت دوستان
                باید مقدار بازگشتی ما هم از همین نوع باشه تا بتونه با هم مقایسه بشن.
                اینم اضافه کنم برنامه بدرستی کار میکنه(فایلی که اقای بیرامی قرار دادن).
                شایدم من درست متوجه کد نشدم
                ممنون میشم راهنماییم کنین.
                یاعلی
                سلام
                خب مشکلی نداره دیگه
                خودت میگی خروجی تابع Unsigned char تعریف شده
                و FR_OK هم مقدار صفر گرفته توی enum
                وقتی توی شرط میای اینا رو مقایسه میکنی کامپایلر جای FR_OK مقدارشو قرار میده که همون صفر هست و اگر تابع هم درست init کنه مقدار صفر رو برمیگردونه
                مشکلی نداره
                بعد هم اینکه برای استفاده از کتابخونه نیازی نیست خودتو درگیر این چیزا کنی اینا همش یه سری نامگذاریه
                درایور شبکه و nRF24L01
                کاتالوگ محصولات
                کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
                شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
                فروش اسیلوسکوپ GWinstek GOS-630FC

                دیدگاه


                  پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                  نوشته اصلی توسط بسطام بیرامی
                  سلام
                  خب مشکلی نداره دیگه
                  خودت میگی خروجی تابع Unsigned char تعریف شده
                  و FR_OK هم مقدار صفر گرفته توی enum
                  وقتی توی شرط میای اینا رو مقایسه میکنی کامپایلر جای FR_OK مقدارشو قرار میده که همون صفر هست و اگر تابع هم درست init کنه مقدار صفر رو برمیگردونه
                  مشکلی نداره
                  بعد هم اینکه برای استفاده از کتابخونه نیازی نیست خودتو درگیر این چیزا کنی اینا همش یه سری نامگذاریه
                  ممنون پاسخ دادین
                  بله همینطوره ، ولی خوبه بدونیم داره چی میگذره داخل توابع :smile:
                  در کشور های غربی انتقال تجربیات و دانش به افراد مبتدی یک پیشرفت محسوب شده و به آن مدیریت دانش می گویند. ولی متاسفانه این فرهنگ هنوز در کشور ایران رایج نشده است !!!

                  دیدگاه


                    پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                    سلام دوستان
                    تو استفاده از این کتابخونه به یه مشکلی برخودم. تا چند روز پیش میتونستم روی کارت بنویسم ولی الان نمیشه؟!
                    بعد از عملیات نوشتن که FR_OK رو برمیگردونه ، وقتی میخوام نوشتن رو نهایی کنم یعنی در جواب این دستور

                    _result = pf_write(0,0, &WriteIndex);

                    این مقدار رو برمیگردونه: FR_DISK_ERR
                    به نظر شما مشکل چیه؟ قبل از عملیات نوشتن ، فایل رو باز میکنم و میخونم و تو پورت سریال همه اطلاعات روی کارت رو به درستی نمایش میده و مشکلی نداره، فقط نوشتن رو انجام نمیده

                    دیدگاه


                      پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                      سلام دوستان
                      سوالمو تو یه جا دیگه مطرح کردم اما کسی پاسخ نداده اینجا آوردم تا دوستان لطف کنن از علمشون استفاده کنیم
                      من با کتابخونه ff.h و atmega32 دوتا برنامه برای نوشتن و خواندن تست کردم که بعد از کش و قوس فراوان نتیجه دادن اما بگیر نگیر دارن میخواستم ببینم چطوری میشه این مشکل رو درست کرد. مثلا وقتی تغذیه رو قطع و وصل میکنم خیلی وقتا جواب نمیده. خیلی کارم گیره..
                      من از ماژول اس دی از این بزرگا استفاده کردم و رم 2 گیگ ...فرکانس میکرو هم 8 مگا داخلی هست..

                      دیدگاه


                        پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                        نوشته اصلی توسط na333r
                        سوالمو تو یه جا دیگه مطرح کردم اما کسی پاسخ نداده اینجا آوردم تا دوستان لطف کنن از علمشون استفاده کنیم
                        جوابتون را همون جا نوشتم
                        توی تاپیک های مختلف که اعضای انجمن تغییر نمی کنند
                        امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                        دیدگاه


                          پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                          سلام
                          دوستان با atmega8 هم میشه راه انداخت این کتابخونه رو ؟
                          تو یه تاپیک دیدم که یکی گفته بود میشه.
                          اما با اینکلود کردن mmc.c و mm.h برای atmega16 ، حافظه فلش کم میاره
                          تو یه تاپیک دیگه دیدم که pff نسبت به ff ، توابع کمتری داره و حجم کمتری رو میگیره.
                          ممنون میشم یه دوستی بیاد و اینارو توضیح بده که چجوریه و چقد حجم میگیرن ...
                          اگرم با مثال باشه تا دید چقد حجم میگیره اون برنامه که عالیه.
                          ممنون
                          در کشور های غربی انتقال تجربیات و دانش به افراد مبتدی یک پیشرفت محسوب شده و به آن مدیریت دانش می گویند. ولی متاسفانه این فرهنگ هنوز در کشور ایران رایج نشده است !!!

                          دیدگاه


                            پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                            دوستان کسی نبود یه توضیحی بده ؟
                            در کشور های غربی انتقال تجربیات و دانش به افراد مبتدی یک پیشرفت محسوب شده و به آن مدیریت دانش می گویند. ولی متاسفانه این فرهنگ هنوز در کشور ایران رایج نشده است !!!

                            دیدگاه


                              پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                              نوشته اصلی توسط sejil
                              سلام
                              دوستان با atmega8 هم میشه راه انداخت این کتابخونه رو ؟
                              تو یه تاپیک دیدم که یکی گفته بود میشه.
                              اما با اینکلود کردن mmc.c و mm.h برای atmega16 ، حافظه فلش کم میاره
                              تو یه تاپیک دیگه دیدم که pff نسبت به ff ، توابع کمتری داره و حجم کمتری رو میگیره.
                              ممنون میشم یه دوستی بیاد و اینارو توضیح بده که چجوریه و چقد حجم میگیرن ...
                              اگرم با مثال باشه تا دید چقد حجم میگیره اون برنامه که عالیه.
                              ممنون
                              سلام
                              ببین دوست عزیز بستگی داره بخوای چیکار کنی
                              برای نوشتن و کارای درست حسابی باید از FF استفاده کنی که کمتر از 64 جا نمیشه
                              ولی pff روی مگا8 جا میشه اما تقریبا باش کاری نمیتونی بکنی و در حد خوندن اطلاعات هست ( نوشتنش داستان داره )
                              آموزشایی که گذاشتم همشون مثال دارن با فایل های کامل پروژه میتونی بخونی و اختلافشونو ببینی
                              [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision
                              درایور شبکه و nRF24L01
                              کاتالوگ محصولات
                              کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
                              شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
                              فروش اسیلوسکوپ GWinstek GOS-630FC

                              دیدگاه


                                پاسخ : [آموزش] نحوه استفاده از کتابخانه pff.h

                                نوشته اصلی توسط sejil
                                دوستان کسی نبود یه توضیحی بده ؟
                                این صفحه را ببین:
                                http://elm-chan.org/fsw/ff/00index_p.html
                                برای pff نوشته:

                                (Very small RAM consumption (44 bytes work area + certain stack
                                (Very small code size (2K-4K bytes
                                و برای ff:
                                http://elm-chan.org/fsw/ff/en/appnote.html#memory

                                موفق باشید
                                امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                                دیدگاه

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