اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h

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

    #16
    پاسخ : کتابخانه ff.h_mmc

    با سلام یه سوال فنی :
    آیا مقدار حافظه مموری کارت برروی انتخاب mega تاثیر داره .
    مثلا میتوان مموری 2G رو با mega32 راه اندازی کرد.
    ممنون.
    آیه: "فرشتگان و ارواح در یک روز به او (مذکر) صعود کردند که این معادل پنجاه هزار سال برای انسان است"!
    در بیرون یک میدان گرانشی زمان اینگونه است: ∆t= ∆t0/ (1-v^2/c^2) ^0.5
    ∆t زمانی است که برای متحرک معادل گذر ایستگاهی است.و V سرعتی است که به شاهد ایستگاهی نسبت داده می شود.
    ∆t0 زمانی است که برای فرشتگان می گذرد.سرعت نور در خلا 299792.458 کیلومتر بر ثانیه است.
    از معادله ی بالا می توانیم آن سرعت ناشناخته را حساب کنیم:v =c (1-(1^2/(50000*12*27.321661)^2))^0.5 که این عدد برابر است با v = 299792.4579999

    دیدگاه


      #17
      پاسخ : کتابخانه ff.h_mmc

      نوشته اصلی توسط ALI.MADAN
      با سلام یه سوال فنی :
      آیا مقدار حافظه مموری کارت برروی انتخاب mega تاثیر داره .
      مثلا میتوان مموری 2G رو با mega32 راه اندازی کرد.
      ممنون.
      با سلام خدمت دوستان و ALI.MADAN
      فکر نمیکنم تاثیر خاصی داشته باشه
      ولی میکرو مگا 32 توی sram کم میاره و نمیشه تو پروژه مانور داد :cry:
      من خودم یه رم 2گیگ sd رو با مگا 32 راه اندازی کردم و مشکلم فقط کم آوردن sram بود! :eek:
      برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

      دیدگاه


        #18
        پاسخ : کتابخانه ff.h_mmc

        نوشته اصلی توسط ALI.MADAN
        حرف دوستمون رو تایید میکنم وسوالم رو تو تابع بعدی عنوان میکنم . :nice:
        سلام ممنون از موضع مناسبتان در برابر مسءله.
        بنده فکر می کنم فقط فضایی که کتابخانه ی مموری و به تبع متغیرهای تعریف شده در توابع آن حجم حافظه ی فلش میکرو را اشغال می کنند و میزان فضایی که دستورات مثلا" همین ساخت فایل در یک درایو ، می گیرند مطرح باشد نه مقدار فضای مموری کارت.
        اما در این مورد منتظر نظر دوستمان جناب POLESTAR می مانیم.
        با تشکر
        مولای من
        نخواهمت که بگریی ولی به گریه دعا کن که وقت رفتن ایام انتظار بیاید

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

        دیدگاه


          #19
          پاسخ : کتابخانه ff.h_mmc

          آقای اسدی لطفا کاربرد این تابع رو هم توضیح بدید
          کد:
          f_mount(0, NULL);      //Unregister work area
          با تشکر
          برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

          دیدگاه


            #20
            پاسخ : کتابخانه ff.h_mmc

            نوشته اصلی توسط محمد صادق ساعی
            سلام ممنون از موضع مناسبتان در برابر مسءله.
            بنده فکر می کنم فقط فضایی که کتابخانه ی مموری و به تبع متغیرهای تعریف شده در توابع آن حجم حافظه ی فلش میکرو را اشغال می کنند و میزان فضایی که دستورات مثلا" همین ساخت فایل در یک درایو ، می گیرند مطرح باشد نه مقدار فضای مموری کارت.
            اما در این مورد منتظر نظر دوستمان جناب POLESTAR می مانیم.
            با تشکر
            با سلام خدمت دوستان و اساتید عزیز
            اولا بنده polestar نیستم هادی اسدی هستم
            دوما در مورد این سوال درسته که ربطی به حجم مموری نداره ولی زمانی که میخواد ادرس دهی بشه باید در توابع حجم متغیر ها بتونه ادرسهارو ساپورت کنه البته این مسئله 2 گیگ خودشو نشون نمیده و شما میتونید به راهتی ازش استفاده کنید
            در مورد جواب دوستمون که گفته بودند حجم رم کم میداد هم باید بگم که شما اگر از متغیرهای محلی و با حجم بافر پایین مثل 256 استفاده کنید این مشکل رو نخواهید داشت درسته که سرعت پایین میاد ولی برای این mega16 یا mega32 ما رم کم نخواهید اورد
            درضمن میتونید از فایل ffconf.h مقدار #define _FS_TINY 0 رو به یک تغییر بدین تا مشکل شما حل بشه
            یا اگر نیازی به نوشتن ندارین و فقط قراره از مموری خونده بشه مقدار #define _FS_READONLY 0 رو یک کنید که نه تنها در حجم رم بلکه در حجم فلش تغییرات ملموسی مشاهده خواهید کرد
            تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
            به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

            دیدگاه


              #21
              پاسخ : کتابخانه ff.h_mmc

              نوشته اصلی توسط hossein_tomari007
              آقای اسدی لطفا کاربرد این تابع رو هم توضیح بدید
              کد:
              f_mount(0, NULL);      //Unregister work area
              با تشکر
              این دستور یعنی از درایو 0 خارج شو یا ببندش :agree:
              تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
              به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

              دیدگاه


                #22
                پاسخ : کتابخانه ff.h_mmc

                با سلام خدمت دوستان
                هادی اسدی معذرت اسم کاربری واسه همین کاراست دیگه :mrgreen:.ولی در هر صورت چشم به اسم اصلیتون صداتون می زنیم . .
                راستی یک سوال آقای اسدی در نحوه ارتباط mmc با مستر یکی از دوستان در یکی از تاپیک ها یک مدار نمونه گذاشتن که پایه ی Data out ,MMC را به یک مقاومت PULL UP کرده اند آیا این نحوه اتصال صحیح هست ممنون.
                آیه: "فرشتگان و ارواح در یک روز به او (مذکر) صعود کردند که این معادل پنجاه هزار سال برای انسان است"!
                در بیرون یک میدان گرانشی زمان اینگونه است: ∆t= ∆t0/ (1-v^2/c^2) ^0.5
                ∆t زمانی است که برای متحرک معادل گذر ایستگاهی است.و V سرعتی است که به شاهد ایستگاهی نسبت داده می شود.
                ∆t0 زمانی است که برای فرشتگان می گذرد.سرعت نور در خلا 299792.458 کیلومتر بر ثانیه است.
                از معادله ی بالا می توانیم آن سرعت ناشناخته را حساب کنیم:v =c (1-(1^2/(50000*12*27.321661)^2))^0.5 که این عدد برابر است با v = 299792.4579999

                دیدگاه


                  #23
                  پاسخ : کتابخانه ff.h_mmc

                  نوشته اصلی توسط ALI.MADAN
                  با سلام خدمت دوستان
                  هادی اسدی معذرت اسم کاربری واسه همین کاراست دیگه :mrgreen:.ولی در هر صورت چشم به اسم اصلیتون صداتون می زنیم . .
                  راستی یک سوال آقای اسدی در نحوه ارتباط mmc با مستر یکی از دوستان در یکی از تاپیک ها یک مدار نمونه گذاشتن که پایه ی Data out ,MMC را به یک مقاومت PULL UP کرده اند آیا این نحوه اتصال صحیح هست ممنون.
                  1 - مموری ها چه SD باشه و چه MMC با 3.3 ولت کار میکنه اگر این ولتاژ بیشتر باشه یا یکی از پینهای ورودی مثل DI یا CS یا CLK بیشتر از 3.3 ولت باشه موجب کارکرد نادرستش شده و ارتباط برقرار نخواهد شد







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

                  1- راهتترین راه اینه که تغذیه میکرو رو 3.3 بکنبم و به جای رگلاتور 5 ولت از یه رگلاتور 3.3 استفاده کنیم
                  2- میکروی ما 5 ولته و ما نمیتونیم ولتاژشو بیایم پایین حالا برای تغذیه میتونیم از یه رگلاتور 3.3 استفاده کنیم که نمیسرفه ولی من یه راه دیگه دارم و با 2 تا دیود فقط 1N4148 سری شده به جای رگلا تور استفاده میکنیم یعنی 5 ولت رو میدیم به دیود اول و بعد یه دیود دوم و بعد به مموری حالا برای اون سه تا دیتا باید با یه تقسیم مقاومت ولتاژ رو به 3.3 برسونیم که برای این کار به سه تا 1.5 کیلو و سه تا 1 کیلو مقاومت نیاز داریم که چون ساده هست دیگه توضیح نمیدم
                  درمورد پروتئوس هم باید بگم من زیاد ازش خوشم نمیاد و باهاش کار نکردم و نمیکنم و نخواهم کرد و در موردش دیگه از من سوال نکنید
                  تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                  به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                  دیدگاه


                    #24
                    پاسخ : کتابخانه ff.h_mmc

                    دوستان برای اینکه کار کردن با مموری ها راحت باشه یه همچین چیزی درست کنید



                    بعد به راحتی میتونید در بردبورد برای تست و کار های دیگه استفاده کنید

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

                    دیدگاه


                      #25
                      پاسخ : کتابخانه ff.h_mmc

                      تابع دوم

                      کد:
                      FRESULT f_open (
                       FIL* FileObject,    /* Pointer to the blank file object structure */
                       const TCHAR* FileName, /* Pointer to the file neme */
                       BYTE ModeFlags     /* Mode flags */
                      );


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

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

                      ورودی و خروجی هاش؟
                      سه تا ورودی داره
                      1- اشاره گر فایل FileObject یه اشاره گر به متغیری که باید قبل از این تابع از نوع استراکچر FIL تعریف شده باشه
                      2- اشاره گر اسم فایل FileName یه اشاره گر به متغیری که باید قبل از این تابع از نوع TCHAR تعریف و مقدا دهی شده باشه البته میشه مستقیما
                      هم نام فایل رو در فلش تعریفش کرد یا مثل مثال پایین بصورت مستقیم وارد تابع کرد
                      3- نوع دسترسی ModeFlags یه متغیر از نوع بایت هست که میتونه 6 حالت مختلف داشته باشه
                      - FA_READ = 0x01 دسترسی برای فقط خواندن فایل
                      - FA_WRITE = 0x02 دسترسی برای فقط نوشتن فایل
                      - FA_OPEN_EXISTING = 0x00 دسترسی فقط برای باز کردن فایل
                      - FA_OPEN_ALWAYS = 0x10 فایل را در صورتی که وجود ندارد ایجاد میکند در غیر این صورت از ادرس صفر فایل بازش میکند
                      - FA_CREATE_NEW = 0x04 فقط فایل رو ایجاد میکند در غیر این صورت FR_EXIST باز گردانده خواهد شد
                      - FA_CREATE_ALWAYS = 0x08 فقط فایل رو ایجاد میکند در صورت وجود فایل اطلاعات فایل پاک خواهد شد

                      و یک خروجی خطا داره که 17 حالت داره
                      FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, 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_LOCKED, FR_NOT_ENOUGH_CORE, FR_TOO_MANY_OPEN_FILES
                      در مورد این خطا ها باید بگم کلا 20 نوع مختلف داره و در توابع مشترک هستند و هر تابه یه تعداد خواصی شو برمیگردونه
                      پس بعد از این برای خروجی توابع میتونید با چک کردن مقدارش بفهمید که تابع چه کاری کرده

                      - FR_OK = 0x00 عملکرد موفق ی(مشکلی نبوده و تابع به درستی اجرا شده)
                      - FR_DISK_ERR = 0x01 خطا در توابع دیسک (مشکلی در ارتباط با دیسک به وجود امده است) دیسک وجود ندارد
                      - FR_INT_ERR = 0x02 خطا در ساختار فت یا سرریز شدن مقادیر متغیر های FATFS یا FIL یا دیگر متغیر های مرتبط
                      - FR_NOT_READY = 0x03 خطا در دیسک با لول پایین یا انیشیال نشدن درست دیسک با تابع disk_initialize منظور از لول پایین یعنی دیسک وجود دارد ولی ارتباط درست نیست
                      - FR_NO_FILE = 0x04 فایل وجود ندارد
                      - FR_NO_PATH = 0x05 مسیر داده شده درست نیست
                      - FR_INVALID_NAME = 0x06 رشته داده به عنوان نام مسیر نامعتبر است
                      - FR_DENIED = 0x07 دسترسی به مورد با توجه به یکی از موارد زیر محدود شده است
                      + برای فایلی با ویژگی فقط خواندنی حالت نوشتن یا باز را بنویسید
                      + حذف فایل یا دایرکتوری با ویژگی فقط خواندنی
                      + حذف دایرکتوری غیر خالی یا دایرکتوری جاری
                      + خواندن فایلی که بدون پرچم FA_READ باز شده باشه
                      + نوشتن یا تغییر فایلی که بدون پرچم FA_WRITE باز شده باشه
                      + ایجاد فایل یا دایرکتوری در درایو پر شده
                      + حجم دایرکتوری ایجاد شده بیشتر از حجم خالی درایو باشد
                      - FR_EXIST = 0x08 این یعنی همنامی یا هر شی که دارای همین نام است و یا در حال حاضر موجود است
                      - FR_INVALID_OBJECT = 0x09 با توجه به ساختار فایل یا دایرکتوری شی نامعتبر است
                      - FR_WRITE_PROTECTED = 0x0A حفاظت شده در برابر هرگونه نوشتن
                      - FR_INVALID_DRIVE = 0x0B شماره درایو انتخاب شده نا معتبر است
                      - FR_NOT_ENABLED = 0x0C درایو مورد نظر توسط تابع f_mount تعریف نشده است
                      - FR_NO_FILESYSTEM = 0x0D درایو پارتیشن بندی نشده یا فرمت نا معتبر است
                      - FR_MKFS_ABORTED = 0x0E اندازه کلاستر برای این دیسک نامعتبر است و زمانی به وجود می اید که شماره کلاستر نزدیک 0xFF7 یا 0xFFF7 باشد
                      - FR_TIMEOUT = 0x0F زمان پاسخ گویی به پایان رسید ولی جوابی نیامد
                      - FR_LOCKED = 0x10 دسترسی به فایل توسط کنترل به اشتراک گذاری فایل رد شده است
                      - FR_NOT_ENOUGH_CORE = 0x11 به یکی دلایل زیر حافظه به اندازه کافی برای عملیات وجود ندارد
                      + بافری برای LFN تعریف نشده است
                      + با توجه به اندازه جدول نیاز به اندازه کافی است
                      - FR_TOO_MANY_OPEN_FILES = 0x12 تعداد فایل های باز شده به حداکثر رسیده و فایل بیشتر نمی توان باز کرد
                      - FR_INVALID_PARAMETER = 0x13 پارامتر داده شده نامعتبر است
                      تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                      به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                      دیدگاه


                        #26
                        پاسخ : کتابخانه ff.h_mmc

                        سلام
                        از بابت آموزش کاملتون ممنون آقای اسدی.
                        می خواستم بدونم طریقه ی open کردن فایلی که قبلا درون mmc ذخیره شده مثلا text رو به همین منوال فراخوانی میکنند . ممنون .
                        آیه: "فرشتگان و ارواح در یک روز به او (مذکر) صعود کردند که این معادل پنجاه هزار سال برای انسان است"!
                        در بیرون یک میدان گرانشی زمان اینگونه است: ∆t= ∆t0/ (1-v^2/c^2) ^0.5
                        ∆t زمانی است که برای متحرک معادل گذر ایستگاهی است.و V سرعتی است که به شاهد ایستگاهی نسبت داده می شود.
                        ∆t0 زمانی است که برای فرشتگان می گذرد.سرعت نور در خلا 299792.458 کیلومتر بر ثانیه است.
                        از معادله ی بالا می توانیم آن سرعت ناشناخته را حساب کنیم:v =c (1-(1^2/(50000*12*27.321661)^2))^0.5 که این عدد برابر است با v = 299792.4579999

                        دیدگاه


                          #27
                          پاسخ : کتابخانه ff.h_mmc

                          با تشکر از آقای اسدی بابت ادامه آموزش
                          یه سوال!!! :eek:
                          چند تا میشه فایل باز کرد؟؟؟؟؟
                          آیا ربطی به حافظه جانبی میکرو داره ، یا نه یه عدد ثابت هستش؟؟؟؟؟
                          برای آنکه کاری امکان پذیر گردد دیدگان دیگری لازم است، دیدگانی نو

                          دیدگاه


                            #28
                            پاسخ : کتابخانه ff.h_mmc

                            نوشته اصلی توسط ALI.MADAN
                            سلام
                            از بابت آموزش کاملتون ممنون آقای اسدی.
                            می خواستم بدونم طریقه ی open کردن فایلی که قبلا درون mmc ذخیره شده مثلا text رو به همین منوال فراخوانی میکنند . ممنون .
                            بله کار این تابع باز کردن هر نوع تابعی هست
                            البته خوندن اطلاعات فایل با باز کردن فرق میکنه
                            تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                            به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                            دیدگاه


                              #29
                              پاسخ : کتابخانه ff.h_mmc

                              نوشته اصلی توسط hossein_tomari007
                              با تشکر از آقای اسدی بابت ادامه آموزش
                              یه سوال!!! :eek:
                              چند تا میشه فایل باز کرد؟؟؟؟؟
                              آیا ربطی به حافظه جانبی میکرو داره ، یا نه یه عدد ثابت هستش؟؟؟؟؟
                              شدیدا به رم شما ارتباط داره هر فایل در حالت عادی حدود 100 بایت از رم رو اشغال میکنه البته بستگی به کانفیگ هم داره
                              این مقدار بدون مقدار بافر دیتا هست و میشه از بافر به صورت مشترک استفاده کرد
                              این نکته هم یادتون باشه خیلی کم پیش میاد که نیاز به باز بودن بیش از 2 فایل باشه
                              تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                              به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                              دیدگاه


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

                                این تاپیک به دلیل جنبه آموزشی آن به بخش تاپیک های مهم انجمن AVR منتقل شد و پست های غیر مرتبط به مطالب آموزشی آن حذف شدند. دوستان لطفا توجه کنند که فقط سوالات مرتبط با کتابخانه ff.h را مطرح کنند و راجع به جواب گرفتن از mmc و مشکلات متفرقه دیگر، تاپیک های مختلفی در انجمن AVR وجود دارد که اینگونه سوالات جای مطرح شدن در آنها را دارند. بر همین اساس هرگونه پست غیرمرتبطی در این تاپیک حذف خواهد شد.
                                اوژن: به معنای افکننده و شکست دهنده است
                                دانایی، توانایی است-Knowledge is POWER
                                برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
                                وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
                                قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
                                اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
                                ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

                                دیدگاه

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