اطلاعیه

Collapse
No announcement yet.

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

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

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

    نوشته اصلی توسط Abbas Sarami
    الطفاً پاسخ شماره 8 را ببینید
    گفتم که دارم عجله می کنم دیگه
    معذرت می خوام
    خوب خواهش می کنم آموزش رو ادامه بدید
    هر 3 تابعی که تا حالا آموزش دادید رو تست کردم مقدار 0 بر می گردونه و تا اینجای کار مشکلی ندارم
    البته من اون فایل رو اول روی micro sd با ram reader تولید کردم و بعد با برنامه باز می کنه و مشکلی نداره .

    دیدگاه


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

      هر 3 تابعی که تا حالا آموزش دادید رو تست کردم مقدار 0 بر می گردونه و تا اینجای کار مشکلی ندارم
      از اینکه تا اینجا به نتیجه رسیدید خوشحالم

      پس تا حالا :
      1- SD را راه انداختیم
      2- جدول FAT را چک کردیم
      3- فایل مورد نظرمون را باز کردیم
      خوب برویم سراغ تابع pf_read(در فایل pff.c):
      کد:
      FRESULT pf_read (
      	void* buff,		/* Pointer to the read buffer (NULL:Forward data to the stream)*/
      	WORD btr,		/* Number of bytes to read */
      	WORD* br		/* Pointer to number of bytes read */
      )
      {
      ساختار فایل به این شکله که تایع سه پارامتر ورودی و خروجی FRESULT داره

      اولین ورودی بافری هست که قراره دیتامون داخلش ریخته بشه
      کد:
      void* buff,		 Pointer to the read buffer (NULL:Forward data to the stream
      دومیش تعداد بایتی هست که میخواهی از فایل بخونی
      کد:
      WORD btr,		 Number of bytes to read
      و سومیش تعداد بایتی هست که سیستم توانسته بخونه
      کد:
      WORD* br	         Pointer to number of bytes read
      مثال:
      کد:
      unsigned char MyBuffer[50];
      FRESULT _result;
      WORD ReadIndex;
      _result = pf_read(&MyBuffer,50, &ReadIndex);
      if(_result == FR_OK)
      {
      // read file ok
      }
      else
      {
      //error
      }
      در اینجا یک بافر داریم که 50 بایت ظرفیت داره و به تابع هم گفتیم 50 بایت بخوان
      اگه تعداد بایت ها در فایل کمتر از 50 بایتی که اعلام کردیم باشه میتونیم توسط ReadIndex که ایجاد کردم تعداد بایت خوانده شده را بفهمیم
      موفق باشید
      امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


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

        کاملا درسته
        با رم ریدر یک فایل روی microsd درست کردم و با winhex یکسری عدد توش نوشتم و با این تابع خوندم همه دیتا ها درسته
        خود تابع هم که صفر بر می گردونه
        دستت درد نکنه
        آقا برو سراغ درس بعدی
        فکر کنم حالا باید نوشتن رو بگیبد نه؟

        دیدگاه


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

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


          تابع بعدی pf_write هست (در فایل pff.c):
          کد:
          FRESULT pf_write (
          	const void* buff,	/* Pointer to the data to be written */
          	WORD btw,			/* Number of bytes to write (0:Finalize the current write operation) */
          	WORD* bw			/* Pointer to number of bytes written */
          )
          ظاهر کار عین خواندن هست ، تابع 3تا پارامتر ورودی داره و FRESULT برای خروجی:
          اولین ورودی مربوط به بافری که میخواهیم داخل فایل بنویسیم هست
          کد:
          const void* buff,	/* Pointer to the data to be written */
          پارامتر بعدی طول بافری که میخواهیم بنویسیم هست
          کد:
          WORD btw,			/* Number of bytes to write (0:Finalize the current write operation) */
          و آخرین پارامتر تعداد بایت های نوشته شده است
          کد:
          WORD* bw			/* Pointer to number of bytes written */
          مثال:
          کد:
          unsigned char MyBuffer[15] = {'S','A','L','A','M','\r','\n','F','A','T',' ','T','E','S','T'};
          FRESULT _result;
          WORD WriteIndex;
          _result = pf_write(&MyBuffer,15, &WriteIndex);
          if(_result == FR_OK)
          {
          // write file ok
          }
          else
          {
          //error
          }
          یک فایل txt. توسط کامپیوتر روی SD ایجاد کنید و توسط تابع pf_open اون را باز کنید و کد بالا تست کنید
          فقط یک نکته مهم را توجه کنید :
          در فایل pff.h مقدار _USE_WRITE را برابر یک کنید:
          کد:
          #define	_USE_WRITE	1	/* pf_write(): 0:Remove ,1:Enable */
          موفق باشید
          امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

          دیدگاه


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

            نوشته اصلی توسط Abbas Sarami
            خیلی عجله داری آقای عباسی
            آقا صبر کنید یکم من دارم سخت افزارشو آماده میکنم و یه PDF خوب هم شروع کردم به نوشتن
            توضیحات رو از ابتدا شروع کردم و می خوام تا آخر به صورت یه کتابچه همه چیز را راجع به SD یه بار برای همه و همیشه جمع کنم
            فقط یکم صبر کنید منم برسم به شما میتونم بهتر باتون همکاری کنم و همه مطالبو با ذکر منبع توی اون PDF قرار میدم ( هرکی هرچی بلده رو کنه که جای دوری نمیره )
            فعلا نمونه کارو به این صورت داغون میذارم که روند کارو ببینید و در تکمیل کردنش منو یاری کنید ( اگر نکته ای یا ایرادی هس بفرمایید تا اصلاح کنم )
            https://www.mediafire.com/?nzdile28i1zodr6
            از همه دوستان برای همکاریشون پیشاپیش سپاسگذارم
            درایور شبکه و nRF24L01
            کاتالوگ محصولات
            کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
            شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
            فروش اسيلوسکوپ GWinstek GOS-630FC

            دیدگاه


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

              الان نمی دونم چی شد که دیگه حتی اینشلایز هم 0 برنمی گردنه
              همه چیز داشت خوب پیش می رفت تا اینکه قسمت رایت رو نوشتم و پرگرام کردم البته اولین بار موقع پرگرام کردن کامپیوترم ریست شد شاید میکرو آسیب دیده باشه ولی فعلا میکروی دیگه ای ندارم
              البته الان micro sd با رم ریدر هیچ مشکلی نداره و avr هم پرگرام میشه و پورت rs232 اون هم سالمه
              اینشلایز 1 بر می گردونه ولی قبلا 0 برمی گردونده

              البته من از atmega64 استفاده می کنم و در تابع mmc.c در همون چند خط اول این تغییرات رو اعمال کرده بودم

              #define SCK_DDR DDRB
              #define SCK_PRT PORTB
              #define SCK_BIT 1

              #define MOSI_DDR DDRB
              #define MOSI_PRT PORTB
              #define MOSI_BIT 2

              #define MISO_DDR DDRB
              #define MISO_PRT PORTB
              #define MISO_BIT 3

              #define SD_CS_DDR DDRB
              #define SD_CS_PRT PORTB
              #define SD_CS_BIT 0

              دیدگاه


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

                نوشته اصلی توسط بسطام بیرامی
                آقا صبر کنید یکم من دارم سخت افزارشو آماده میکنم و یه PDF خوب هم شروع کردم به نوشتن
                توضیحات رو از ابتدا شروع کردم و می خوام تا آخر به صورت یه کتابچه همه چیز را راجع به SD یه بار برای همه و همیشه جمع کنم
                فقط یکم صبر کنید منم برسم به شما میتونم بهتر باتون همکاری کنم و همه مطالبو با ذکر منبع توی اون PDF قرار میدم ( هرکی هرچی بلده رو کنه که جای دوری نمیره )
                فعلا نمونه کارو به این صورت داغون میذارم که روند کارو ببینید و در تکمیل کردنش منو یاری کنید ( اگر نکته ای یا ایرادی هس بفرمایید تا اصلاح کنم )
                https://www.mediafire.com/?nzdile28i1zodr6
                از همه دوستان برای همکاریشون پیشاپیش سپاسگذارم
                بعضی از عکسها مثل تعریف library قسمت config توی آموزش نبوده تا حالا
                البته من هم توی config پروژه اصلا هیچ کتابخونه ای رو فعال نکرده ام و توی اون مثالی هم که گذاشته بودند چنین کاری نشده بود ! آیا لازمه ؟

                دیدگاه


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

                  نوشته اصلی توسط داریوش عباسی
                  بعضی از عکسها مثل تعریف library قسمت config توی آموزش نبوده تا حالا
                  البته من هم توی config پروژه اصلا هیچ کتابخونه ای رو فعال نکرده ام و توی اون مثالی هم که گذاشته بودند چنین کاری نشده بود ! آیا لازمه ؟
                  من چنتا برنامه ساده نوشتم و توی پروتئوس امتحان کردم و این کتابخونه رو هم همینطور که توی عکس ها بود فعال کردم ولی باز هم نمیدونم لازمه یا نه
                  اگر دوستان کمک کنن من همینطور مطالبو اصلاح میکنم و PDF رو کامل می کنم و در پایان روی سایت قرار میدم که همه بتونن به طور جامع ازش استفاده کنن
                  درایور شبکه و nRF24L01
                  کاتالوگ محصولات
                  کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
                  شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
                  فروش اسيلوسکوپ GWinstek GOS-630FC

                  دیدگاه


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

                    با سلام

                    خدا خیرم بده که شروع کردم ...

                    خب با توجه به مشکلاتی که بنده دارم سعی می کنم به جای نوشتن توضیح توابع و ... مثال هایی ساده رو در ارتباط با این کتابخانه قرار بدم و زحمت توضیحات رو میندازیم گردن Abbas Sarami.

                    خب مثال دوم مربوط به باز کردن یک فایل تکست به اسم "soran.txt" که قبلا ایجاد شده و نوشته هایی در اون وجود داره.فایل باز شده و 9 کاراکتر اول آن خوانده و سپس بر روی نمایشگر نمایش داده خواهد شد.

                    دانلود سمپل دوم

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

                    دیدگاه


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

                      من ار همه معذرت می خوام اگه خیلی عجله دارم
                      قول می دم اگه پروژه من راه افتاد که داره راه میفته تمام کسانی رو که عقب موندن رو تا جایی که می تونم کمک کنم ولی الان خودم خیلی عجله دارم وهر روز برای من یک ماهه!
                      مشکل من سخت افزاری بود و الان برطرف شده
                      من امروز صبح ساعت 7:30 تا الان که ساعت نزدیک 9 شبه فقط برای مواقع ضروری و صبحانه و ناهار از پشت کامپیوترم بلند شدم !!
                      یک سوال دیگه :
                      توابع خوندن و نوشتن رو نمیشه پشت سرهم استفاده کرد ؟
                      من یک فایل رو باز می کنم و توش می نویسم و بعدش می خونم و درست نیست ولی تک تک که استفاده می کنم ظاهرا مشکلی نداره
                      خدا خیرم بده که شروع کردم ...
                      واقعا

                      دیدگاه


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

                        از آقای آراسته کمال تشکر رو دارم که به قولشون عمل کردن، امیدوارم در تمام مراحل زندگی موفق باشن
                        انسانها 10 دسته اند: دسته اي که باينري ميدانند و دسته اي که باينري نميدانند!

                        دیدگاه


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

                          نوشته اصلی توسط داریوش عباسی
                          من ار همه معذرت می خوام اگه خیلی عجله دارم
                          قول می دم اگه پروژه من راه افتاد که داره راه میفته تمام کسانی رو که عقب موندن رو تا جایی که می تونم کمک کنم ولی الان خودم خیلی عجله دارم وهر روز برای من یک ماهه!
                          مشکل من سخت افزاری بود و الان برطرف شده
                          من امروز صبح ساعت 7:30 تا الان که ساعت نزدیک 9 شبه فقط برای مواقع ضروری و صبحانه و ناهار از پشت کامپیوترم بلند شدم !!
                          یک سوال دیگه :
                          توابع خوندن و نوشتن رو نمیشه پشت سرهم استفاده کرد ؟
                          من یک فایل رو باز می کنم و توش می نویسم و بعدش می خونم و درست نیست ولی تک تک که استفاده می کنم ظاهرا مشکلی نداره واقعا
                          ببخشید اقای عباسی یک سوال :

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

                          اگه بگین هدف اصلی برنامه چیه شاید زودتر به نتیجه برسیم.
                          البته اگه خیلی عجله دارین pm بدین تا با هم مشکل شما رو زودتر حل کنیم و زحمت بقیه مسیر آموزش رو بندازیم رو دوش شما :icon_razz:
                          چرا ناراحتی پاتریک!
                          + امروز ی بچه دیدم سرچهارراه گل میفروخت
                          - از دیدنش ناراحت شدی؟
                          + نه
                          پس چی ناراحتت کرده
                          + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                          ------------------------------------------------------------------------------------------------------
                          تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                          ------------------------------------------------------------------------------------------------------
                          محصولات

                          دیدگاه


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

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

                            دیدگاه


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

                              سوران جان یه سوال
                              این که شما کلا برای برد آموزشی ECA داری کد میزنی؟!
                              یعنی توی سورس برنامت ندیدم پایه های LDC رو تعریف کرده باشی
                              بخوام بردمو مثل برد شما ببندم نیاز به شماتیک داشتم ( که بتونیم کلا با هم پیش ببریم برنامه ها رو )
                              مرسی
                              درایور شبکه و nRF24L01
                              کاتالوگ محصولات
                              کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
                              شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
                              فروش اسيلوسکوپ GWinstek GOS-630FC

                              دیدگاه


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

                                نوشته اصلی توسط بسطام بیرامی
                                سوران جان یه سوال
                                این که شما کلا برای برد آموزشی ECA داری کد میزنی؟!
                                یعنی توی سورس برنامت ندیدم پایه های LDC رو تعریف کرده باشی
                                بخوام بردمو مثل برد شما ببندم نیاز به شماتیک داشتم ( که بتونیم کلا با هم پیش ببریم برنامه ها رو )
                                مرسی
                                لزومی نداره که بردتون کاملا شبیه باشه
                                بردی که من دارم باهاش کار می کنم اصلا با atmega64 کشیده شده و فقط توی فایل مربوطه پایه ها رو جابجا کردم .
                                ولی اگر هنوز هیچ مدار چاپیی تهیه نکردید بهتره که با یک میکرو atmega32 کار کنید( بخاطر راحتی و ارزونی ) و پایه های spi رو به ssd وصل کنید .
                                کل برد رو هم با تغذیه 3.3 ولت بکشید .

                                دیدگاه

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