اطلاعیه

Collapse
No announcement yet.

مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

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

    مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

    سلام

    در مورد متغیر btr در تابع f_read که در کتابخانه ff.h هست ... ما از کجا بدونیم که چه عددی باید بذاریم تا کل فایل برای ما فراخوانی بشه؟
    مثلا من میخوام یک فایل موزیک رو پخش کنم... از کجا بدونم چه عددی بذارم که تا آخر ترک رو برای من پخش کنه؟

    آیا میشه چیزی اونجا گذاشت که خودش تا آخر فایل دیتا ها رو برداره و تشخیص بده انتهای فایل رو؟


    #2
    پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

    داداش تونستی فایل رو باز کنی؟(یعنی f_open کار کرد؟)
    هستم اگر می روم گر نروم نیستم

    دیدگاه


      #3
      پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

      والا تو شبیه سازی که مشکلی نداشت ... تو عمل نمیدونم

      دیدگاه


        #4
        پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

        نوشته اصلی توسط majeddotcom
        سلام

        در مورد متغیر btr در تابع f_read که در کتابخانه ff.h هست ... ما از کجا بدونیم که چه عددی باید بذاریم تا کل فایل برای ما فراخوانی بشه؟
        مثلا من میخوام یک فایل موزیک رو پخش کنم... از کجا بدونم چه عددی بذارم که تا آخر ترک رو برای من پخش کنه؟

        آیا میشه چیزی اونجا گذاشت که خودش تا آخر فایل دیتا ها رو برداره و تشخیص بده انتهای فایل رو؟

        شما هر بار اندازه بافری که تعریف کردید میخونید.و بعد تعداد بایت هایی که خونده شده(br) رو چک میکنید.اگه 0 شده باشه یعنی به آخر فایل رسیدید. f_read(&fsrc, buffer, sizeof(buffer), &br);
        البته 0شدنش میتونه از یه اررور هم باشه.
        اینجا توضیح کامل داده.
        http://elm-chan.org/fsw/ff/en/read.html
        [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

        دیدگاه


          #5
          پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

          ممنون ... اوکی شد .

          فقط یک مسئله .... هر بار که این تابع رو فراخوانی میکنی خودش مثلا میره 8 بایت بعدی رو میخونه ؟ ...
          مثلا فرض کن من 8 بایت 8 بایت فراخوانی میکنم ...

          بعد یک مسئله دیگه اونم اینکه اگه تعداد بایت های کل فایل به 8 تقسیم پذیر نباشه ... اون وقت آخرین بایت هایی که میفرسته کمتر از 8 تا هست دیگه .. به جای اون تعداد کسری 0 جایگزین میکنه؟

          دیدگاه


            #6
            پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

            به نظر من 8بایت برای اندازه بافر کوچیکه و سرعت کار رو کم میکنه.البته به کارتون هم بستگی داره.
            اگه تعداد بایت های فایل به 8 بخش پذیر نباشه در آخر کار متغیر br مقداری کوچیکتر از حجم بافر(8) شما رو نشون میده و شما باید به تعداد br از روی بافرتون بخونید.اگر بیشتر از اون بخونید به دیتایی که سری پیش روش نوشته میرسید.یعنی حجم انتهای بافر رو با صفر پر نمیکنه و فقط به تعداد br بافر شما رو اور رایت میکنه.
            [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

            دیدگاه


              #7
              پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

              نوشته اصلی توسط majeddotcom
              والا تو شبیه سازی که مشکلی نداشت ... تو عمل نمیدونم
              داداش دستم به دامنت :cry:
              میشه برنامه و شماتیکت رو واسه من بفرستی؟
              به خدا یک ماهه گیر همین قضیه ام(ایجاد نوشتن خواندن) :sad:
              اما هنوز نتونستم یه فایل ایجاد کنم :angry:

              فقط نگاه کن این تاپیک هاییه که تو سایت eca زدم:
              http://www.eca.ir/forum2/index.php?topic=47401.0
              http://www.eca.ir/forum2/index.php?topic=47813.0
              http://www.eca.ir/forum2/index.php?topic=47844.0

              اما از هیچ کدومشون جوا ب نگرفتم

              بی زحمت کل فایل های پروژه ت رو واسم بزار
              میشه؟
              هستم اگر می روم گر نروم نیستم

              دیدگاه


                #8
                پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

                سلام رفیق

                چرا نمیشه برات بفرستم . معلومه که میشه :nerd:

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

                توی مجله نویز هم یک مقاله هست که اینو کاملا باز کرده ... ایمیل بزن به من ... برات بفرستم .

                majedro@gmail.com

                دیدگاه


                  #9
                  پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

                  سلام

                  بچه ها من عملی هم بستم و خوشبختانه انگار همه چیز اوکی هست .

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

                  این رو هم بگم که مموری رایت پروتکت هم نیست ..

                  کسی تا حالا به این مشکل برخورد کرده/؟

                  دیدگاه


                    #10
                    پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

                    نوشته اصلی توسط majeddotcom
                    سلام

                    بچه ها من عملی هم بستم و خوشبختانه انگار همه چیز اوکی هست .

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

                    این رو هم بگم که مموری رایت پروتکت هم نیست ..

                    کسی تا حالا به این مشکل برخورد کرده/؟
                    فایل رو به صورت READ_ONLY باز نمیکنید؟ منظورم آرگومان های تابع f_open هست.
                    از فایل ff_config مد READ_OnlY رو انتخاب نکردید؟
                    [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

                    دیدگاه


                      #11
                      پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

                      نوشته اصلی توسط shahinbahari
                      فایل رو به صورت READ_ONLY باز نمیکنید؟ منظورم آرگومان های تابع f_open هست.
                      از فایل ff_config مد READ_OnlY رو انتخاب نکردید؟
                      نه . من کلا هیچ تنظیمات خاصی رو انجام ندادم ... فقط با تابع if ((res=f_open(&file,path,FA_CREATE_ALWAYS))==FR _OK)
                      فایل رو باز میکنم و میخوام با تابع if ((res=f_write(&file,buffer,15,&nbytes))==F R_OK) هم بنویسم تو فایل .

                      یه مشکل که جدیدا بهش برخورد کردم بگیر نگیریه که اتفاق میوفته . یعنی 2 بار نمیخونه ... 1 بار میخونه ... حتی بعضی وقتها نوشته های اس سی دی رو هم قاطی نشون میده.. باید ریست کنم ..

                      فکر میکنی میکرو کنترلرم مشکل داره؟

                      دیدگاه


                        #12
                        پاسخ : مشکل در مورد خواندن فایل از روی مموری با استفاده از AVR

                        نوشته اصلی توسط majeddotcom
                        فقط با تابع if ((res=f_open(&file,path,FA_CREATE_ALWAYS))==FR _OK)
                        فایل رو باز میکنم
                        برای نوشتن، فایل را به اینصورت باز کنید:

                        if ((res=f_open(&file,path,FA_CREATE_ALWAYS | FA_WRITE))==FR_OK)
                        اوژن: به معنای افکننده و شکست دهنده است
                        دانایی، توانایی است-Knowledge is POWER
                        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                        دیدگاه

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