اطلاعیه

Collapse
No announcement yet.

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

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

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

    خب خب
    صب کنید من بردم آماده شد
    برای این که تاپیک شما به هم نریزه من یا تاپیک جدید باز میکنم و از 0 شروع میکنم به سوال پرسیدن ببینم به کجا میرسیم
    این هم لینک تاپیک سوالات من :
    سوالات برای شروع از 0 ره اندازی pff.h
    درایور شبکه و nRF24L01
    کاتالوگ محصولات
    کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
    شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
    فروش اسیلوسکوپ GWinstek GOS-630FC

    دیدگاه


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

      سلام مجدد
      آقا من آموزشو اینطوری ادامه دادم
      آموزش کار با درایو مجازی در پروتئوس هم آوردم
      تقریبا همه چیز رو جمع کردم و از آقای صرامی عزیز هم بسیار سپاسگذارم
      تا اینجا ببینید اگر اشکالی ایرادی نداره بقیشو تکمیل کنم تا یه فایل PDF خوب بذارم برا استفاده همه
      ( ببخشید اینقد شدید واترمارک کردم چون هنوز آماده نشده ، تکمیل شه کیفیت عالی بدون واترمارک روی سایت قرار میدم )

      حتما ببینید و نظر بدید ممنون


      آموزش کامل کار با Micro SD
      درایور شبکه و nRF24L01
      کاتالوگ محصولات
      کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
      شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
      فروش اسیلوسکوپ GWinstek GOS-630FC

      دیدگاه


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

        نوشته اصلی توسط داریوش عباسی
        مشکل نوشتن من هم حل شد :applause: :applause: :nice: :nice:

        من مراحل ذیل را جلو رفتم
        1- بعد از نوشتن یک نوشتن دیگه شامل pf_write(0,0, &k); برای اتمام کار نوشتن لازمه
        2- بعد از نوشتن برای خواندن یا هر کار دیگری نیاز به باز کردن دوباره فایل است ولی معمولا در باز کردن اول و دوم خطلا می دهد به همین خاطر در یک حلقه اینقدر خوندم تا 0 بر می گردوند البته بجای اینکار delay جواب نداد .
        3- بعد از اینکار با اولین خواندن مقدار 0 را می دهد و مقادیر خوانده شده صحیح می باشد .
        آقای عباسی من هنوز نمیتونم بنویسم
        میشه یه برنامه ساده مثل سوران عزیز بذارید که خودش همه کارو بکنه
        من میخوای یه فایل رو باز کنه ( میکنه ) و مینویسم OK میده ولی فایل هم تو پروتئوس و هم روی برد واقعی خالی میمونه
        ( قبلا فایل رو تولید کردم و فقط میخوام داخل فایل بنویسم )
        میشه این قسمتو ساده و کامل برای منم توضیح بدید بتونم باش کار کنم
        یه پروژه ساده اگر بذارید که خیلی عالی میشه
        ممنون از شما
        درایور شبکه و nRF24L01
        کاتالوگ محصولات
        کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
        شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
        فروش اسیلوسکوپ GWinstek GOS-630FC

        دیدگاه


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

          من با atmega64 کار کردم و با کارهایی که گفتم فعلا مشکلی ندارم .
          البته آقای شاپور اردبیل هم یک مثال ساده فرستاده بودند که دقیقا همون کارهای من رو کرده ولی ایشون جوب نمی گرفت و من هم چک کردم به نظرم باید کار می کرد و ایشون از atmega32 استفاده کرده بودند و البته من امکان تست عملی رو نداشتم . واقعا نمی دونم الان ایشون به جایی رسیدن یا نه ؟ چون من چند روزی نبودم !

          بعد از نوشتن من الان علاوه بر موارد فوق که گفتم بعضی وقتها حتی لازم میشه init و mount هم بکنم ( واقعا عجیبه ) تا بتونم نوشتن یا خوندن بعدی رو انجام بدم و البته در نوشتن هم معمولا با تلاش 5 و6 به بعد جواب می ده !!!!!!!!!

          من حتما سعی می کنم یک پروژه ساده رو با پروتیوس هم چک کنم و بذارم .
          یک موضوعی که نتونستم با پروتیوس تست کنم اینه که هر وقت کریستال سر میکرو می ذارم ارور می ده و عملا برنامه ای که داره در عمل جواب می ده رو نتونستم توی پروتوس تست کنم .

          دیدگاه


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

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

            بعد از نوشتن من الان علاوه بر موارد فوق که گفتم بعضی وقتها حتی لازم میشه init و mount هم بکنم ( واقعا عجیبه ) تا بتونم نوشتن یا خوندن بعدی رو انجام بدم و البته در نوشتن هم معمولا با تلاش 5 و6 به بعد جواب می ده !!!!!!!!!

            من حتما سعی می کنم یک پروژه ساده رو با پروتیوس هم چک کنم و بذارم .
            یک موضوعی که نتونستم با پروتیوس تست کنم اینه که هر وقت کریستال سر میکرو می ذارم ارور می ده و عملا برنامه ای که داره در عمل جواب می ده رو نتونستم توی پروتوس تست کنم .
            مرسی
            آقا فایل آموزشی که گذاشتمو بخون میتونی با پروتئوس کار کنی
            ولی در کل مشکل پروتئوسی داشتی من حل میکنم ( نگران این قسمت نباش )
            من فعلا بردمو با مگا32 زدم ولی برد نهاییم با مگا 128 هست
            حالا شما تلاشتو بکن منم بشدت پیگیرم و دارم توضیحات سایت اصلیشو میخونم


            Description

            The write function has some restrictions listed below:

            Cannot create file. Only existing file can be written.
            Cannot expand file size.
            Cannot update time stamp of the file.
            Write operation can start/stop on the sector boundary.
            Read-only attribute of the file cannot block write operation.

            File write operation must be done in following sequence.

            pf_lseek(ofs); read/write pointer must be moved to sector bundary prior to initiate write operation or it will be rounded-down to the sector boundary.
            pf_write(buff, btw, &bw); Initiate write operation. Write first data to the file.
            pf_write(buff, btw, &bw); Write next data. Any other file function cannot be used while a write operation is in progress.
            pf_write(0, 0, &bw); Finalize the write operation. If read/write pointer is not on the sector boundary, left bytes in the sector will be filled with zero.

            The read/write pointer in the file system object advances in number of bytes written. After the function succeeded, *bw should be checked to detect end of file. In case of *bw < btw, it means the read/write pointer reached end of file during the write operation. Once a write operation is initiated, it must be finalized or the written data can be lost.

            ببینیم به کجا میرسیم
            شما هم خبرشو بم بده
            درایور شبکه و nRF24L01
            کاتالوگ محصولات
            کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
            شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
            فروش اسیلوسکوپ GWinstek GOS-630FC

            دیدگاه


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

              با سلام

              ببینید در ff وقتی یک فایل را باز میکنیم هدف از باز کردن را نیز تعریف میکنیم که میتواند هریک از گزینه های زیر باشد و یا ترکیبی از چند گزینه که با هم or میشوند

              - FA_READ = 0x01 دسترسی برای فقط خواندن فایل
              - FA_WRITE = 0x02 دسترسی برای فقط نوشتن فایل
              - FA_OPEN_EXISTING = 0x00 دسترسی فقط برای باز کردن فایل
              - FA_OPEN_ALWAYS = 0x10 فایل را در صورتی که وجود ندارد ایجاد میکند در غیر این صورت از ادرس صفر فایل بازش میکند
              - FA_CREATE_NEW = 0x04 فقط فایل رو ایجاد میکند در غیر این صورت FR_EXIST باز گردانده خواهد شد
              - FA_CREATE_ALWAYS = 0x08 فقط فایل رو ایجاد میکند در صورت وجود فایل اطلاعات فایل پاک خواهد شد

              ولی در pff وقتی فایل را باز میکنیم هدف مشخص نمیشود و مشکل همین جا است
              من خیلی تلاش کردم ولی نتوانستم بنویسم لذا منصرف شدم بقول یکی از دوستان من هم فکر میکنم که pff فقط برای خواندن است

              من یک مثال هم با پروتئوس گذاشتم که
              init را انجام میدهد
              فایل را mount میکند
              فایل را باز میکند
              فایل را میخواند
              ولی متاسفانه قادر به نوشتن نیست من عمل هم بستم وکار میکند

              http://s5.picofile.com/file/81148459...Pff_h.zip.html

              از دوستان دیگر هم هم بصورت خصوصی و هم بصورت عمومی درخواست کردم اگه امکان داشته باشد اشکال نوشتن را رفع نمایند ولی یا وقت نکردند و یا واقعا این pff شاید !!!!!!!!!! که من بعید میدانم قادر به نوشتن نیست !!!!!!!!!!!!!!!!!!!!

              دیدگاه


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

                نوشته اصلی توسط Shapour-Ardebil
                با سلام

                ببینید در ff وقتی یک فایل را باز میکنیم هدف از باز کردن را نیز تعریف میکنیم که میتواند هریک از گزینه های زیر باشد و یا ترکیبی از چند گزینه که با هم or میشوند

                - FA_READ = 0x01 دسترسی برای فقط خواندن فایل
                - FA_WRITE = 0x02 دسترسی برای فقط نوشتن فایل
                - FA_OPEN_EXISTING = 0x00 دسترسی فقط برای باز کردن فایل
                - FA_OPEN_ALWAYS = 0x10 فایل را در صورتی که وجود ندارد ایجاد میکند در غیر این صورت از ادرس صفر فایل بازش میکند
                - FA_CREATE_NEW = 0x04 فقط فایل رو ایجاد میکند در غیر این صورت FR_EXIST باز گردانده خواهد شد
                - FA_CREATE_ALWAYS = 0x08 فقط فایل رو ایجاد میکند در صورت وجود فایل اطلاعات فایل پاک خواهد شد

                ولی در pff وقتی فایل را باز میکنیم هدف مشخص نمیشود و مشکل همین جا است
                من خیلی تلاش کردم ولی نتوانستم بنویسم لذا منصرف شدم بقول یکی از دوستان من هم فکر میکنم که pff فقط برای خواندن است

                من یک مثال هم با پروتئوس گذاشتم که
                init را انجام میدهد
                فایل را mount میکند
                فایل را باز میکند
                فایل را میخواند
                ولی متاسفانه قادر به نوشتن نیست من عمل هم بستم وکار میکند

                http://s5.picofile.com/file/81148459...Pff_h.zip.html

                از دوستان دیگر هم هم بصورت خصوصی و هم بصورت عمومی درخواست کردم اگه امکان داشته باشد اشکال نوشتن را رفع نمایند ولی یا وقت نکردند و یا واقعا این pff شاید !!!!!!!!!! که من بعید میدانم قادر به نوشتن نیست !!!!!!!!!!!!!!!!!!!!
                البته که FF.H خیلی کاملتره ولی من با تموم این مشکلاتش دارم الان توش می نویسم و می خونم و مدام در برنامه داره می نویسه و می خونه
                ولی واقعا نفهمیدم مشکل شما از کجاست ولی حتما یک جایی یک چیزی رو اشتباه می کنید .
                اینجوری هم نیست که اصلا به درد نخوره
                اگه برسم روی مثال شما بیشتر کار می کنم تا مشکلش مشخص بشه .

                دیدگاه


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

                  نوشته اصلی توسط داریوش عباسی
                  البته که FF.H خیلی کاملتره ولی من با تموم این مشکلاتش دارم الان توش می نویسم و می خونم و مدام در برنامه داره می نویسه و می خونه
                  ولی واقعا نفهمیدم مشکل شما از کجاست ولی حتما یک جایی یک چیزی رو اشتباه می کنید .
                  اینجوری هم نیست که اصلا به درد نخوره
                  اگه برسم روی مثال شما بیشتر کار می کنم تا مشکلش مشخص بشه .
                  خوب دوست من الان 5 روز است که من بال بال میزنم میگویم من مجبور شدم برای اینکه پروژه ام با ff در میکرو جا بشه نصف پروژه را حذف کنم
                  اگه شما مینویسید فایل تان را پلود کنید تا ما هم استفاده کنیم و یا فایل من که هست مشکلش را بگویید

                  دیدگاه


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

                    من دقیقا همون کارایی که گفته رو انجام دادم


                    File write operation must be done in following sequence.

                    pf_lseek(ofs); read/write pointer must be moved to sector bundary prior to initiate write operation or it will be rounded-down to the sector boundary.
                    pf_write(buff, btw, &bw); Initiate write operation. Write first data to the file.
                    pf_write(buff, btw, &bw); Write next data. Any other file function cannot be used while a write operation is in progress.
                    pf_write(0, 0, &bw); Finalize the write operation. If read/write pointer is not on the sector boundary, left bytes in the sector will be filled with zero.

                    کد:
                    lcd_clear();
                    lcd_putsf("Init Drive");
                    while(disk_initialize()!=FR_OK) delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    lcd_clear();
                    lcd_putsf("OPEN Drive");
                    while(pf_mount(&Fs)!=FR_OK) delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    
                    lcd_clear();
                    lcd_putsf("Open File");
                    while(pf_open("Bastam.txt")!=FR_OK) delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    
                    lcd_clear();
                    lcd_putsf("LSeek File");
                    while(pf_lseek(0)!=FR_OK) delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    
                    
                    lcd_clear();
                    lcd_putsf("Write1 File");
                    while (pf_write(&MyBuffer,15, &WriteIndex) != FR_OK);
                    delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    lcd_clear();
                    lcd_putsf("Write2 File");
                    while (pf_write(&MyBuffer,15, &WriteIndex) != FR_OK);
                    delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    lcd_clear();
                    lcd_putsf("Write00 File");
                    while (pf_write(0,0, &WriteIndex) != FR_OK);
                    delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    
                    lcd_clear();
                    lcd_putsf("CLOSE Drive");
                    while(pf_mount(0)!=FR_OK) delay_ms(100);
                    lcd_putsf("-->OK");
                    delay_ms(1000);
                    همه رو هم OK برمیگردونه ولی نه توی پروتئوس و نه روی برد عملی هیچی نمینویسه
                    دیگه اینقدا هم نباید pff بدرد نخور باشه آخه
                    اینم کل پروژه ، برنامه ، پروتئوس و فایل های درایو مجازی و ...
                    ببینید اشکال کار کجاست
                    Write Micro SD
                    درایور شبکه و nRF24L01
                    کاتالوگ محصولات
                    کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
                    شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
                    فروش اسیلوسکوپ GWinstek GOS-630FC

                    دیدگاه


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

                      نوشته اصلی توسط بسطام بیرامی
                      من دقیقا همون کارایی که گفته رو انجام دادم

                      کد:
                      lcd_clear();
                      lcd_putsf("Init Drive");
                      while(disk_initialize()!=FR_OK) delay_ms(100);
                      lcd_putsf("-->OK");
                      delay_ms(1000);
                      --
                      --
                      --
                      --
                      ضمن تشکر ولی فرقی با فایل من ندارد غیر از اینکه شما قبل از نوشتن پوینتر فایل را " (Lssek(0 " حرکت دادید
                      وقتی که فایل کاملا خالی است با فراخوانی تابع "(pf_write(0,0, &WriteIndex " مقدار 0 برگشت داده میشود ( FR_OK == تابع ) ولی چیزی نوشته نمیشود
                      اما زمانی که داخل فایل کاراکترهایی نوشته شود با فراخوانی تابع "(pf_write(0,0, &WriteIndex " مقدار 0 برگشت داده نمیشود و داخل while می ماند و باز هم چیزی نوشته نمی شود :angry: :angry:

                      اگر شما واقعا می نویسید و می خواهید کمک کنید :eek: :eek: :eek:
                      نمی دانم با اینکه چند بار از شما خواستم ولی چه اصراری دارید تا فایل کامل را پلود نمی کنید البته عذر خواهی میکنم چون کم کم دارم شک میکنم
                      :surprised: :surprised: :surprised:[/code]

                      دیدگاه


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

                        با کمال شرمندگی امکان اینکه کا سورس رو اینجا بذارم نیست . امیدوارم که من رو درک کنید چون این پروژه رو برای جایی انجام می دهم و بابت سورس اون به اون شرکت متعهد هستم ولی با تمام وجود در خدمت هستم . البته این چند روزه خیلی سرم شلوغه ولی بین کارهام هر کمکی از دست برمیاد انجام می دم .
                        من قسمتهایی از کد را که مربوط به نوشتن و خواندن در mmc هستش رو می ذارم ولی کل پروژه رو نمیشه شرمنده .
                        البته من مثال شما رو هم چک کردم و کاملا شبیه همینه و باید کار کنه و نمی دونم چرا کار نمی کنه .
                        من تا جایی که امکان داشت در این برنامه برای خواندن و نوشتن محکم کاری کردم البته محکم کاریهایی که به نظر خودم هم بچه گانه است ولی هر کدوم رو که برداشتم یه جایی به مشکل برخوردم .
                        کد:
                        //******************************************
                        unsigned char write_f(unsigned char *st,unsigned int ind1,unsigned int ind2)
                        {
                          for(i=0;i<200;i++)
                          {
                            res=disk_initialize();
                            if(res==0) i=200;
                          }  
                          if(res!=0) return 1;
                          for(i=0;i<200;i++)
                          {     
                            res=pf_mount(&Fs);
                            if(res==0) i=200;
                          }     
                          if(res!=0) return 2;
                          for(i=0;i<200;i++)
                          {
                            res=pf_open(st);
                            if(res==0) i=200;
                          }
                          if(res!=0) return 3; 
                          
                          for(i=0;i<ind2;i++)
                            buffer[i]=Rx_Data_P0[4+i+ind1]; 
                           // k=0; 
                          for(i=0;i<200;i++)
                          {
                            res=pf_write(&buffer,ind2, &k); 
                             if(res==0) i=200;
                          }
                          if(res!=0) return 4; 
                          pf_write(0,0, &k); 
                          return 0;
                        
                        }
                        //***************************************************************************
                        unsigned char read_f(unsigned char *st,unsigned int ind)
                        {
                          for(i=0;i<200;i++)
                          {
                            res=disk_initialize();
                            if(res==0) i=200;
                          }  
                          if(res!=0) return 1;
                          for(i=0;i<200;i++)
                          {     
                            res=pf_mount(&Fs);
                            if(res==0) i=200;
                          }     
                          if(res!=0) return 2;
                          for(i=0;i<200;i++)
                          {
                            res=pf_open(st);
                            if(res==0) i=200;
                          }
                          if(res!=0) return 3; 
                         
                          for(i=0;i<200;i++)
                          {
                            res=pf_read(&buffer,ind, &j); 
                             if(res==0) i=200;
                          }
                          if(res!=0) return 4; 
                          for(i=0;i<ind;i++)
                          {
                            UDR1= buffer[i]; 
                            while ((UCSR1A & DATA_REGISTER_EMPTY)==0){ #asm("wdr")}  
                          }  
                          return 0;
                        
                        }
                        
                        //****************************************
                               sprintf(str,"GL11_1.dat");
                                  res=write_f(str,0,400);
                                  if(res!=0) command0=0x61; 
                        
                          sprintf(str,"GL41_1.dat");
                          res=read_f(str,400);
                          if(res!=0) command0=0x57;
                        بازهم در اولین فرصت اون مثالهای دوستان رو بررسی می کنم فکر کنم و اگه به نتیجه رسدیم حتما می گم .
                        این برنامه من در عمل هم داره کار می کنه و البته دیتاهای نوشته شده و خوانده شده رو با winhex و با رم ریدر چک کردم و درسته .

                        دیدگاه


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

                          با سلام

                          قبل از هر چیز از همه دوستان عذر می خوام متاسفانه این مدت به دلیل مشکلاتی اصلا نمی تونم کمکی بهتون بکنم و باید به بزرگی خودتون ببخشید.

                          چند تا از دوستان در پیغام خصوصی درخواست کردن تا برنامه ای رو برای نوشتن اطلاعات بر روی کارت حافظه با استفاده از کتابخانه نام برده قرار بدم.
                          قبلا اقای عباسی همچین درخواستی رو کردن و تا جایی که می شد و می تونستم کمک ناچیزی بهشون کردم و خب اصل ماجرا این که در این کتابخانه تابعی برای بستن فایل وجود نداره و مشکل اصلی از همین جا ناشی میشه.
                          البته با خوندن توضیحات تابع pf_write متوجه میشید که نوشته شده با جاگذاری NULL یا همون صفر به دو ارگومان تابع یعنی فایل بسته شود.
                          در زیر سورسی رو قرار میدم که ممنون میشم اقای عباسی بر روی سخت افزار خودشون اون رو تست کنن و نتیجه رو به دوستان اطلاع بدن.
                          به شخصه برنامه های نمونه ای رو با این کتابخانه نوشتم ولی متاسفانه اطلاعات گاها نوشته میشد و از 10 بار عملیات نوشتن اونم کاملا اتفاقی یکیش درست کار می کرد.
                          توجه کنید که با اجرای تابع FR_OK برگشت داده میشه اما اطلاعات ثبت نخواهد شد.

                          دانلود سورس : http://eca.ir/sharing/uploads/13936805721.rar

                          موفق باشید

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

                          دیدگاه


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

                            در سایت chaN نوشته

                            The write function has some restrictions listed below:
                            Cannot create file. Only existing file can be written.
                            Cannot expand file size.
                            Cannot update time stamp of the file.
                            Write operation can start/stop on the sector boundary.
                            Read-only attribute of the file cannot block write operation.
                            تابع نوشتن بنا به گفته خودش نمیتونه اندازه فایل را بزرگتر کنه
                            من نمیتونم تست کنم لطفاً دوستان نتیجه آزمایشاتشون را اعلام کنن
                            امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                            دیدگاه


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

                              با اینکه گفته شده :

                              The write function has some restrictions listed below:
                              Cannot create file. Only existing file can be written.
                              Cannot expand file size.
                              Cannot update time stamp of the file.
                              Write operation can start/stop on the sector boundary.
                              Read-only attribute of the file cannot block write operation.
                              برای تابع نوشتن محدودیت هایی در زیر ذکر شده است:
                              قادر به ایجاد پرونده نمی باشد. تنها بر روی فایل موجود می توان نوشت.
                              حجم فایل را گسترش نمی دهد .
                              قادر به به روز کردن زمان فایل نمی باشد.
                              عملیات شروع/در مرز بخش توقف می توانید بنویسید.
                              ویژگی فقط خواندنی پرونده نمی تواند از عملیات نوشتن جلوگیری نماید.
                              همانطور که قبلا هم عرض کردم وقتی که فایل کاملا خالی است با فراخوانی تابع "(pf_write(0,0, &WriteIndex " مقدار 0 برگشت داده میشود ( FR_OK == تابع ) ولی چیزی نوشته نمیشود اما زمانی که داخل فایل کاراکترهایی نوشته شود ( تا طول فایل بزرگ نشود و فقط بر روی فایل قبلی که خود این یعنی بدرد نخور بودناین تابع را می رساند ) با فراخوانی تابع "(pf_write(0,0, &WriteIndex " مقدار 0 برگشت داده نمیشود و داخل حلقه while گرفتار می ماند و باز هم چیزی نوشته نمی شود

                              دیدگاه


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

                                نوشته اصلی توسط سوران آراسته
                                با سلام

                                قبل از هر چیز از همه دوستان عذر می خوام متاسفانه این مدت به دلیل مشکلاتی اصلا نمی تونم کمکی بهتون بکنم و باید به بزرگی خودتون ببخشید.

                                چند تا از دوستان در پیغام خصوصی درخواست کردن تا برنامه ای رو برای نوشتن اطلاعات بر روی کارت حافظه با استفاده از کتابخانه نام برده قرار بدم.
                                قبلا اقای عباسی همچین درخواستی رو کردن و تا جایی که می شد و می تونستم کمک ناچیزی بهشون کردم و خب اصل ماجرا این که در این کتابخانه تابعی برای بستن فایل وجود نداره و مشکل اصلی از همین جا ناشی میشه.
                                البته با خوندن توضیحات تابع pf_write متوجه میشید که نوشته شده با جاگذاری NULL یا همون صفر به دو ارگومان تابع یعنی فایل بسته شود.
                                در زیر سورسی رو قرار میدم که ممنون میشم اقای عباسی بر روی سخت افزار خودشون اون رو تست کنن و نتیجه رو به دوستان اطلاع بدن.
                                به شخصه برنامه های نمونه ای رو با این کتابخانه نوشتم ولی متاسفانه اطلاعات گاها نوشته میشد و از 10 بار عملیات نوشتن اونم کاملا اتفاقی یکیش درست کار می کرد.
                                توجه کنید که با اجرای تابع FR_OK برگشت داده میشه اما اطلاعات ثبت نخواهد شد.

                                دانلود سورس : http://eca.ir/sharing/uploads/13936805721.rar

                                موفق باشید
                                با سلام

                                عین فایل های قبلی من و سایر دوستان است من عملی هم تست کردم ولی متاسفانه نمی نویسد

                                دیدگاه

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