اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h در Codevision

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

    #16
    پاسخ : کتابخانه ff.h در Codevision

    این سوال مشترک بین آقای اسدی و صرامی

    من برنامه هر دوی شما رو که شبیه سازی میکنم مثل عکس پست 6



    پورت E رو که مقدارش 1 میشد فهمیدم مال اینجا بود :

    کد:
    	{	/* Remove this block if no socket power control */
    		PORTE |= _BV(7);		/* Socket power off (PE7=high) */
    		for (Timer1 = 20; Timer1; );	/* Wait for 20ms */
    	}
    که خودشم نوشته اگر سوکت پاور کنترل نداره این قسمتو پاک کنید ( فعلا این مشکلی نداره )

    ولی پایه های SPI درست تعریف نمیشن
    همونطور که قبلا گفته بودید رفتم سراغ mmc_avr.c و توی این قسمت :

    کد:
    	PORTB |= 0b00000101;	/* Configure SCK/MOSI/CS as output */
    	DDRB |= 0b00000111;
    
    	SPCR = 0x52;			/* Enable SPI function in mode 0 */
    	SPSR = 0x01;			/* SPI 2x mode */
    دیدم درست آمده 3 تا پین اول پروت B رو که به ترتیب SS و SCK و MOSI هستن 1 کرده ( یعنی خروجی )
    و پین 4ام رو هم ورودی تعریف کرده ولی وقتی دستور init اجرا میشه باز این پایه ها خاکستری رنگ هستن توی پرونئوس
    و این که مقدار 0x06 برمیگردونه که بیشتر بررسی کردم دیدم تابع res = disk_initialize(0); مقدار استاتوس رو برمیگردونه

    This function returns a disk status as the result.
    و توی status :


    Return Values

    The disk status is returned in combination of following flags. FatFs refers only STA_NOINIT and STA_PROTECT.

    STA_NOINIT
    Indicates that the device is not initialized. This flag is set on system reset, media removal or failure of disk_initialize() function. It is cleared on disk_initialize() function succeeded. Media change that occurs asynchronously must be captured and reflect it to the status flags, or auto-mount feature will not work correctly. When media change detection feature is not supported, application program needs to de-initialize the file system object with f_mount() function after the media change.
    STA_NODISK
    Indicates that no medium in the drive. This is always cleared on fixed disk drive. Note that FatFs does not refer this flag.
    STA_PROTECT
    Indicates that the medium is write protected. This is always cleared on the drives without write protect feature. Not valid while no medium in the drive.

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

    دیدگاه


      #17
      پاسخ : کتابخانه ff.h در Codevision

      دلیل Set شدن پایه E.7 این کد هست که خودش نوشته اگه نمیخواهید تغذیه MMC را کنترل کنید اون را حذف کنید (در فایل mmc_avr.c)
      کد:
      void power_on (void)
      {
      	{	/* Remove this block if no socket power control */
      		PORTE &= ~_BV(7);	/* Socket power on (PE7=low) */
      		DDRE |= _BV(7);
      		for (Timer1 = 2; Timer1; );	/* Wait for 20ms */
      	}
      	PORTB |= 0b00000101;	/* Configure SCK/MOSI/CS as output */
      	DDRB |= 0b00000111;
      
      	SPCR = 0x52;			/* Enable SPI function in mode 0 */
      	SPSR = 0x01;			/* SPI 2x mode */
      }
      -------------------------------------------
      حالا بررسی میکنیم که چرا B.4 , B.5 ست شده (در اصل pull up شده)؟
      در فایل mmc_avr.c خوب به تابع تایمر دقت کن:
      کد:
      void disk_timerproc (void)
      {
      	BYTE n, s;
      	n = Timer1;				/* 100Hz decrement timer */
      	if (n) Timer1 = --n;
      	n = Timer2;
      	if (n) Timer2 = --n;
      
      	s = Stat;
      
      	if (SOCKWP)				/* Write protected */
      		s |= STA_PROTECT;
      	else					/* Write enabled */
      		s &= ~STA_PROTECT;
      
      	if (SOCKINS)			/* Card inserted */
      		s &= ~STA_NODISK;
      	else					/* Socket empty */
      		s |= (STA_NODISK | STA_NOINIT);
      
      	Stat = s;				/* Update MMC status */
      }
      شرط SOCKINS در اصل همون Card Detect هست که بعضی از سوکت ها mmc اون را دارند ؛ کارش اینه که در صورتی که mmc از سوکت جدا شد متوجه بشیم.
      در ابتدای همون فایل این کد را میبینید که آدرس چک کننده ها را داده :
      کد:
      #define SOCKINS		(!(PINB & 0x10))	/* Card detected.  yes:true, no:false, default:true */
      #define SOCKWP		(PINB & 0x20)		/* Write protected. yes:true, no:false, default:false */
      برای حذف اونها این دو خط را به این شکل تغییر بدید:
      کد:
      #define SOCKINS	1	
      #define SOCKWP 0
      این فایل را دانلود کنید و تست کنید ؛ موارد گفته شده در بالا رعایت شده اند:
      ff10a Codevision.rar - 386 KB

      در این فایل :
      شبیه ساز proteus 8 اضافه شده
      pin های E7-B5-B4 حذف شده اند (چک کننده ها غیر فعال هستند)

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

      دیدگاه


        #18
        پاسخ : کتابخانه ff.h در Codevision

        نوشته اصلی توسط بسطام بیرامی
        مقایسه کردم ( البته خیلی سخت بود )
        main برنامه ها که یکی بود دقیقا
        ولی اختلاف تو فایل های ffconf.h بین فایل شما با فایل پوشه ff10a بود که خب میدونم مربوط به چییا هست و مقاداراتو همونطوری شما تنظیم کردید منم تغییر دادم
        بعد رسیدم به خطاهای دیگه که باز بررسی کردم دیدم اختلاف بین فایل های diskio.h شما با diskio.h که توی ff10a هست وجود داره
        ولی اینو متوجه نشدم شما چرا و چطور تغییر داید مثلا :

        اینا توی فایل شما هست ولی اصلا چان نداره بنده خدا :icon_razz:

        نمیدونم دونستن اینا برای کار اهمیت داره یا نه
        ولی اگر بتونید اختلافو توضیح بدید ممنون میشم
        اگر هم دستور بدید میگیم چان ما شمایی آقای اسدی و از فایل های شما استفاده میکنیم دندون چان رو هم میکنیم بره

        بازم تشکر میکنم از وقتی که میذارید ( آخه یه دکمه تشکر بنظرم برای شما کمه )
        نقل قول از پست اول بنده
        حتما از فایل diskio.h داخل پوشه avr_complex استفاده کنید نه اونی که داخل پوشه src هست
        لطفا دقت کنید
        به همین سادگی :nice:
        تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
        به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

        دیدگاه


          #19
          پاسخ : کتابخانه ff.h در Codevision

          با سلام

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

          میتونید از اینجا دانلود کنید

          به همین سادگی :nice:
          تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
          به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

          دیدگاه


            #20
            پاسخ : کتابخانه ff.h در Codevision

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

            دیدگاه


              #21
              پاسخ : کتابخانه ff.h در Codevision

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

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

              میتونید از اینجا دانلود کنید

              به همین سادگی :nice:
              آقای اسدی
              توی این برنامه شما از همون mmc.c خودتون استفاده کردید
              خب من اینجا 2 تا سوال دارم :
              1 - کلا این mmc.c پ دیت میشه؟! یعنی اصلا پدیتش مهمه؟! منظورم اینه که ممکنه باگ داشته باشه؟! وقتی الان داره کار میکنه پس همیشه میشه از همین فایل استفاده کرد؟!!
              2 - برای استفاده از mmc_avr.c گفتید که diskio.h توی avr_complex رو بردارم
              برای mmc.c شما با هیچ کدوم از diskio.h ها ( توی scr و avr_complex ) کار نکرد جز diskio.h که خودتون گذاشته بودید ( توی ff_lib )
              میشه راجع به فایل diskio.h یکم بیشتر توضیح بدید که چی هست و چیکار میکنید که به فایل های مختلف mmc.c میخوره
              درایور شبکه و nRF24L01
              کاتالوگ محصولات
              کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
              شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
              فروش اسيلوسکوپ GWinstek GOS-630FC

              دیدگاه


                #22
                پاسخ : کتابخانه ff.h در Codevision

                نوشته اصلی توسط بسطام بیرامی
                آقای اسدی
                توی این برنامه شما از همون mmc.c خودتون استفاده کردید
                خب من اینجا 2 تا سوال دارم :
                1 - کلا این mmc.c پ دیت میشه؟! یعنی اصلا پدیتش مهمه؟! منظورم اینه که ممکنه باگ داشته باشه؟! وقتی الان داره کار میکنه پس همیشه میشه از همین فایل استفاده کرد؟!!
                2 - برای استفاده از mmc_avr.c گفتید که diskio.h توی avr_complex رو بردارم
                برای mmc.c شما با هیچ کدوم از diskio.h ها ( توی scr و avr_complex ) کار نکرد جز diskio.h که خودتون گذاشته بودید ( توی ff_lib )
                میشه راجع به فایل diskio.h یکم بیشتر توضیح بدید که چی هست و چیکار میکنید که به فایل های مختلف mmc.c میخوره
                نمیدونم از کجاش خوشتون اومده ولی بنده چندان تغییر خاصی ندادم
                و فکر میکنم مشکل شما این هست که به سی تسلط کافی ندارید توصیه میکنم در این خصوص بیشتر مطالعه کنید
                و مهمتر از اون اینکه با کدویژن کار میکنید
                کدویژن باعث میشه روز به روز از چهارچوب سی خارج بشید
                البته اینها فقط یه نظر بود و شاید تجربه

                یه بار دیگه از اول شروع کن و سعی کن ارور هارو یکی یکی خودت پیدا کنی و دقیقا بفهمی دلیلش چیه تا حلش کنی
                در مورد اپدیت mmc.c هم نه تغییر چندانی نمیکنه فقط اقای چان نسبت شرایط تغییرش میده که توابع اصلی معمولا ئست نخورده میمونن

                به مین سادگی :nice:
                تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                دیدگاه


                  #23
                  پاسخ : کتابخانه ff.h در Codevision

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

                  USE_IOCTL_ که مقدار 1 داشت به 0 تغییر دادم. ( دلیلش رو نمیدونم و نمیدونم برای چی هست این قسمت )
                  این دیفایل برای فعال کردن یه تعداد تابع جدیدن که اقای چان اظافه کردن ولی زیاد مهم نیست
                  در مورد CTRL_POWER_OFF که اظافه کردید هم در همون تابع disk_ioctl استفاده شده که شما با صفر کردنش کات حذف کردید

                  حرف p در اول pdrv را حذف کردم چون در فایل mmc.c تعریف توابع با drv انجام شده بود.
                  توی فایل mmc.c تعریف نیست و خود تابع هست
                  تعریف توابع mmc.c در فایل diskio.h هست و در تعریف توابع نیازی به نوشتن نام متغیر نیست و فقط نوعش کفایت میکنه
                  پش شما میتونید در فایل diskio.h نام متغیر هارو که pdrv تغییر دادید حذف کنید

                  اما در مورد get_fattime که فرموده بودید
                  من اطلاعی از دلیل اضافه کردن این تابع ندارم و اصلا نمیدونم این زمان برای چی هست و قراره در پروژه چه کاری انجام دهد
                  ممنون میشم دوستان عزیز که اطلاع دارن عملکرد و جزئیات این تابع رو برای ما شرح بدن
                  این تابع فقط در صورت نوشتن و یا ایجاد و یا ادیت فایل استفاده میشه
                  دیدید در کامپیوتر وقتی یه فایل رو ادیت یا ایجاد کنید تاریخ و ساعت فایل تغییر میکنه
                  کار این تابع دقیقا همین هست و که به توابع فت زمان و تاریخ جاری رو بده

                  و البته به نظر من شما برای بالاتر بردن بار علمی این کار میتونید همه پست هایی که توابع این لایبری رو توضیح دادم رو به فایلتون اضافه کنید
                  بنده اکثر توابعی که خیلی لازم میشه و مهم هست رو توضیح دادم
                  در ضمن سوال و جوابهایی که دیگر دوستان پرسیدن یا جواب دادن و فکر میکنید مهم باشن میتونه در بخش سوالات متداول یا FAQ جالب و مفید باشه
                  همین مورد رو میتونید به اموزش قبلیتون هم اضافه کنید

                  به همین سادگی :nice:
                  تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                  به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                  دیدگاه


                    #24
                    پاسخ : کتابخانه ff.h در Codevision

                    برای تغییر راحت تر رجیستر ها و pin های فایل mmc_avr.c اون را اصلاح کردم
                    ماکروها در اول برنامه اضافه شده
                    حتی میشه برای PIC ویا ARM نیز اون را نوشت
                    لینک های دانلود:
                    سرور 1 :http://upir.ir/931/mmc-avr.rar
                    سرور 2 :mmc_avr.rar - 5 KB
                    دوستان تست کنید و درصورت بروز خطا همین جا مطرح کنید
                    موفق باشید
                    امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                    دیدگاه


                      #25
                      پاسخ : کتابخانه ff.h در Codevision

                      نوشته اصلی توسط Abbas Sarami
                      برای تغییر راحت تر رجیستر ها و pin های فایل mmc_avr.c اون را اصلاح کردم
                      ماکروها در اول برنامه اضافه شده
                      حتی میشه برای PIC ویا ARM نیز اون را نوشت
                      لینک های دانلود:
                      سرور 1 :http://upir.ir/931/mmc-avr.rar
                      سرور 2 :mmc_avr.rar - 5 KB
                      دوستان تست کنید و درصورت بروز خطا همین جا مطرح کنید
                      موفق باشید
                      ممنونم آقای صرامی عزیز
                      خب اگر از این فایل استفاده کنم دیگه نیازی به تغییراتی که توی diskio.h دادم نیست؟!
                      و فقط همون diskio.h که توی پوشه avr_complex هست کپی کنم کفایت میکنه؟!
                      البته ببخشید یکم وقتم تنگه اما حتما شب تست میکنم و خبرشو بهتون میدم
                      این قسمت هم به آموزش اضافه میکنم تا از این فایل هم دوستان تونند استفاده کنن
                      باز هم برای تغییراتی که دادید ممنونم
                      درایور شبکه و nRF24L01
                      کاتالوگ محصولات
                      کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
                      شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
                      فروش اسيلوسکوپ GWinstek GOS-630FC

                      دیدگاه


                        #26
                        پاسخ : کتابخانه ff.h در Codevision

                        نوشته اصلی توسط بسطام بیرامی
                        ممنونم آقای صرامی عزیز
                        خب اگر از این فایل استفاده کنم دیگه نیازی به تغییراتی که توی diskio.h دادم نیست؟!
                        و فقط همون diskio.h که توی پوشه avr_complex هست کپی کنم کفایت میکنه؟!
                        نیازی به تغییر diskio.h نیست ، فقط include کنید
                        امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                        دیدگاه


                          #27
                          پاسخ : کتابخانه ff.h در Codevision

                          نوشته اصلی توسط Abbas Sarami
                          نیازی به تغییر diskio.h نیست ، فقط include کنید
                          آقای صرامی عزیز بسیار عالی
                          من تست کردم جواب داد و هیچ مشکلی نداشت
                          فقط به اول فایل avr_mcc.c اینا رو اضافه کردم

                          کد:
                          #define _BV(pin)  	(1<<pin)
                          #define sbi(sfr,pin)			(sfr |= _BV(pin))
                          #define cbi(sfr,pin)			(sfr &= ~_BV(pin))
                          #define bis(sfr, bit)			(sfr & _BV(bit))
                          #define bic(sfr, bit)			(!(sfr & _BV(bit)))
                          #define loop_until_bit_is_set(sfr, bit)			  do { } while (bic(sfr, bit))
                          #define loop_until_bit_is_reset(sfr, bit)			do { } while (bis(sfr, bit))
                          اینا باید توی main.c باشن یا همونجایی که من کپی کردم درسته؟!!
                          خب اینا رو هم توی همون avr_mmc.c بنویسیم باشن دیگه یه پوشه کامل بذاریم برای اضافه کردن به پروژه
                          اینطوری بهتر نیست؟!
                          درایور شبکه و nRF24L01
                          کاتالوگ محصولات
                          کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
                          شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
                          فروش اسيلوسکوپ GWinstek GOS-630FC

                          دیدگاه


                            #28
                            پاسخ : کتابخانه ff.h در Codevision

                            نوشته اصلی توسط بسطام بیرامی
                            آقای صرامی عزیز بسیار عالی
                            من تست کردم جواب داد و هیچ مشکلی نداشت
                            فقط به اول فایل avr_mcc.c اینا رو اضافه کردم

                            کد:
                            #define _BV(pin)  	(1<<pin)
                            #define sbi(sfr,pin)			(sfr |= _BV(pin))
                            #define cbi(sfr,pin)			(sfr &= ~_BV(pin))
                            #define bis(sfr, bit)			(sfr & _BV(bit))
                            #define bic(sfr, bit)			(!(sfr & _BV(bit)))
                            #define loop_until_bit_is_set(sfr, bit)			  do { } while (bic(sfr, bit))
                            #define loop_until_bit_is_reset(sfr, bit)			do { } while (bis(sfr, bit))
                            اینا باید توی main.c باشن یا همونجایی که من کپی کردم درسته؟!!
                            خب اینا رو هم توی همون avr_mmc.c بنویسیم باشن دیگه یه پوشه کامل بذاریم برای اضافه کردن به پروژه
                            اینطوری بهتر نیست؟!
                            توی همین تاپیک گفتم http://www.eca.ir/forum2/index.php?topic=92094.msg575410#msg575410
                            اون فایل هایی که من پلود کردم تمامی این موارد را در فایل integer.h لحاظ کردم ، چون در تمامی فایل ها، integer.h در ابتدا include شده و همه جا در دسترسه و اگه شما از همون فایلی که گذاشتم استفاده کنی اصلاً نیازی به نوشتن این ماکرو ها نداری

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

                            دیدگاه


                              #29
                              پاسخ : کتابخانه ff.h در Codevision

                              نوشته اصلی توسط Abbas Sarami
                              توی همین تاپیک گفتم http://www.eca.ir/forum2/index.php?topic=92094.msg575410#msg575410
                              اون فایل هایی که من پلود کردم تمامی این موارد را در فایل integer.h لحاظ کردم ، چون در تمامی فایل ها، integer.h در ابتدا include شده و همه جا در دسترسه و اگه شما از همون فایلی که گذاشتم استفاده کنی اصلاً نیازی به نوشتن این ماکرو ها نداری

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

                              دیدگاه


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

                                دوستان سلام
                                باز من آمدم با 2تا سوال
                                1 - این
                                کد:
                                #define _USE_IOCTL	0/* 1: Enable disk_ioctl fucntion */
                                دقیقا چی هست؟!
                                دیدم آقای اسدی نوشتن :
                                disk_ioctl - Control device dependent features
                                و
                                جای دیگه فرمودن :

                                این دیفایل برای فعال کردن یه تعداد تابع جدیدن که اقای چان اظافه کردن ولی زیاد مهم نیست
                                اما من توی پروژه وقتی این مقدار رو 0 میکنم چنین خطایی میگیرم توی فایل ff.c :


                                2 - من آمدم کتابخونه FatFs رو برای ATMega32 راه بندازم و هرچی رو میتونستن توی کانفیگ غیر فعال کردم
                                بعد فقط ioctl نتونستم غیر فعال کنم بعد حجم کد 44 کیلو شد
                                آیا باز از این هم میشه کمترش کرد؟! کلا میشه روی مگا 32 راش انداخت یا نه؟!
                                این فایل کانفیگم :

                                کد:
                                /*---------------------------------------------------------------------------/
                                / FatFs - FAT file system module configuration file R0.10a (C)ChaN, 2014
                                /---------------------------------------------------------------------------*/
                                
                                #ifndef _FFCONF
                                #define _FFCONF 29000	/* Revision ID */
                                
                                
                                /*---------------------------------------------------------------------------/
                                / Functions and Buffer Configurations
                                /---------------------------------------------------------------------------*/
                                
                                #define	_FS_TINY		1	/* 0:Normal or 1:Tiny */
                                /* When _FS_TINY is set to 1, it reduces memory consumption _MAX_SS bytes each
                                / file object. For file data transfer, FatFs uses the common sector buffer in
                                / the file system object (FATFS) instead of private sector buffer eliminated
                                / from the file object (FIL). */
                                
                                
                                #define _FS_READONLY	0	/* 0:Read/Write or 1:Read only */
                                /* Setting _FS_READONLY to 1 defines read only configuration. This removes
                                / writing functions, f_write(), f_sync(), f_unlink(), f_mkdir(), f_chmod(),
                                / f_rename(), f_truncate() and useless f_getfree(). */
                                
                                
                                #define _FS_MINIMIZE	3	/* 0 to 3 */
                                /* The _FS_MINIMIZE option defines minimization level to remove API functions.
                                /
                                /  0: All basic functions are enabled.
                                /  1: f_stat(), f_getfree(), f_unlink(), f_mkdir(), f_chmod(), f_utime(),
                                /   f_truncate() and f_rename() function are removed.
                                /  2: f_opendir(), f_readdir() and f_closedir() are removed in addition to 1.
                                /  3: f_lseek() function is removed in addition to 2. */
                                
                                
                                #define	_USE_STRFUNC	0	/* 0:Disable or 1-2:Enable */
                                /* To enable string functions, set _USE_STRFUNC to 1 or 2. */
                                
                                
                                #define	_USE_MKFS		0	/* 0:Disable or 1:Enable */
                                /* To enable f_mkfs() function, set _USE_MKFS to 1 and set _FS_READONLY to 0 */
                                
                                
                                #define	_USE_FASTSEEK	0	/* 0:Disable or 1:Enable */
                                /* To enable fast seek feature, set _USE_FASTSEEK to 1. */
                                
                                
                                #define _USE_LABEL		0	/* 0:Disable or 1:Enable */
                                /* To enable volume label functions, set _USE_LAVEL to 1 */
                                
                                
                                #define	_USE_FORWARD	0	/* 0:Disable or 1:Enable */
                                /* To enable f_forward() function, set _USE_FORWARD to 1 and set _FS_TINY to 1. */
                                
                                
                                /*---------------------------------------------------------------------------/
                                / Locale and Namespace Configurations
                                /---------------------------------------------------------------------------*/
                                
                                #define _CODE_PAGE	720
                                /* The _CODE_PAGE specifies the OEM code page to be used on the target system.
                                / Incorrect setting of the code page can cause a file open failure.
                                /
                                /  932 - Japanese Shift-JIS (DBCS, OEM, Windows)
                                /  936 - Simplified Chinese GBK (DBCS, OEM, Windows)
                                /  949 - Korean (DBCS, OEM, Windows)
                                /  950 - Traditional Chinese Big5 (DBCS, OEM, Windows)
                                /  1250 - Central Europe (Windows)
                                /  1251 - Cyrillic (Windows)
                                /  1252 - Latin 1 (Windows)
                                /  1253 - Greek (Windows)
                                /  1254 - Turkish (Windows)
                                /  1255 - Hebrew (Windows)
                                /  1256 - Arabic (Windows)
                                /  1257 - Baltic (Windows)
                                /  1258 - Vietnam (OEM, Windows)
                                /  437 - U.S. (OEM)
                                /  720 - Arabic (OEM)
                                /  737 - Greek (OEM)
                                /  775 - Baltic (OEM)
                                /  850 - Multilingual Latin 1 (OEM)
                                /  858 - Multilingual Latin 1 + Euro (OEM)
                                /  852 - Latin 2 (OEM)
                                /  855 - Cyrillic (OEM)
                                /  866 - Russian (OEM)
                                /  857 - Turkish (OEM)
                                /  862 - Hebrew (OEM)
                                /  874 - Thai (OEM, Windows)
                                /  1  - ASCII (Valid for only non-LFN cfg.) */
                                
                                
                                #define	_USE_LFN	0		/* 0 to 3 */
                                #define	_MAX_LFN	255		/* Maximum LFN length to handle (12 to 255) */
                                /* The _USE_LFN option switches the LFN feature.
                                /
                                /  0: Disable LFN feature. _MAX_LFN and _LFN_UNICODE have no effect.
                                /  1: Enable LFN with static working buffer on the BSS. Always NOT thread-safe.
                                /  2: Enable LFN with dynamic working buffer on the STACK.
                                /  3: Enable LFN with dynamic working buffer on the HEAP.
                                /
                                / When enable LFN feature, Unicode handling functions ff_convert() and ff_wtoupper()
                                / function must be added to the project.
                                / The LFN working buffer occupies (_MAX_LFN + 1) * 2 bytes. When use stack for the
                                / working buffer, take care on stack overflow. When use heap memory for the working
                                / buffer, memory management functions, ff_memalloc() and ff_memfree(), must be added
                                / to the project. */
                                
                                
                                #define	_LFN_UNICODE	0	/* 0:ANSI/OEM or 1:Unicode */
                                /* To switch the character encoding on the FatFs API (TCHAR) to Unicode, enable LFN
                                / feature and set _LFN_UNICODE to 1. This option affects behavior of string I/O
                                / functions. */
                                
                                
                                #define _STRF_ENCODE	3	/* 0:ANSI/OEM, 1:UTF-16LE, 2:UTF-16BE, 3:UTF-8 */
                                /* When Unicode API is enabled by _LFN_UNICODE option, this option selects the character
                                / encoding on the file to be read/written via string I/O functions, f_gets(), f_putc(),
                                / f_puts and f_printf(). This option has no effect when Unicode API is not enabled. */
                                
                                
                                #define _FS_RPATH		0	/* 0 to 2 */
                                /* The _FS_RPATH option configures relative path feature.
                                /
                                /  0: Disable relative path feature and remove related functions.
                                /  1: Enable relative path. f_chdrive() and f_chdir() function are available.
                                /  2: f_getcwd() function is available in addition to 1.
                                /
                                / Note that output of the f_readdir() fnction is affected by this option. */
                                
                                
                                /*---------------------------------------------------------------------------/
                                / Drive/Volume Configurations
                                /---------------------------------------------------------------------------*/
                                
                                #define _VOLUMES	1
                                /* Number of volumes (logical drives) to be used. */
                                
                                
                                #define _STR_VOLUME_ID	0	/* 0:Use only 0-9 for drive ID, 1:Use strings for drive ID */
                                #define _VOLUME_STRS	"RAM","NAND","CF","SD1","SD2","USB1","USB2","USB3"
                                /* When _STR_VOLUME_ID is set to 1, also pre-defined string can be used as drive number
                                / in the path name. _VOLUME_STRS defines the drive ID strings for each logical drives.
                                / Number of items must be equal to _VOLUMES. Valid characters for the drive ID strings
                                / are: 0-9 and A-Z. */
                                
                                
                                #define	_MULTI_PARTITION	0	/* 0:Single partition, 1:Enable multiple partition */
                                /* By default(0), each logical drive number is bound to the same physical drive number
                                / and only a FAT volume found on the physical drive is mounted. When it is set to 1,
                                / each logical drive number is bound to arbitrary drive/partition listed in VolToPart[].
                                */
                                
                                
                                #define	_MIN_SS		512
                                #define	_MAX_SS		512
                                /* These options configure the sector size to be supported. (512, 1024, 2048 or 4096)
                                / Always set both 512 for most systems, all memory card and hard disk. But a larger
                                / value may be required for on-board flash memory and some type of optical media.
                                / When _MIN_SS != _MAX_SS, FatFs is configured to multiple sector size and
                                / GET_SECTOR_SIZE command must be implemented to the disk_ioctl() function. */
                                
                                
                                #define	_USE_ERASE	0	/* 0:Disable or 1:Enable */
                                /* To enable sector erase feature, set _USE_ERASE to 1. Also CTRL_ERASE_SECTOR command
                                / should be added to the disk_ioctl() function. */
                                
                                
                                #define _FS_NOFSINFO	0	/* 0 to 3 */
                                /* If you need to know correct free space on the FAT32 volume, set bit 0 of this
                                / option and f_getfree() function at first time after volume mount will force
                                / a full FAT scan. Bit 1 controls the last allocated cluster number as bit 0.
                                /
                                / bit0=0: Use free cluster count in the FSINFO if available.
                                / bit0=1: Do not trust free cluster count in the FSINFO.
                                / bit1=0: Use last allocated cluster number in the FSINFO if available.
                                / bit1=1: Do not trust last allocated cluster number in the FSINFO.
                                */
                                
                                
                                
                                /*---------------------------------------------------------------------------/
                                / System Configurations
                                /---------------------------------------------------------------------------*/
                                
                                #define _WORD_ACCESS	0	/* 0 or 1 */
                                /* The _WORD_ACCESS option is an only platform dependent option. It defines
                                / which access method is used to the word data on the FAT volume.
                                /
                                /  0: Byte-by-byte access. Always compatible with all platforms.
                                /  1: Word access. Do not choose this unless under both the following conditions.
                                /
                                / * Address misaligned memory access is always allowed for all instructions.
                                / * Byte order on the memory is little-endian.
                                /
                                / If it is the case, _WORD_ACCESS can also be set to 1 to improve performance
                                / and reduce code size.
                                */
                                
                                
                                #define	_FS_LOCK	0	/* 0:Disable or >=1:Enable */
                                /* To enable file lock control feature, set _FS_LOCK to 1 or greater.
                                / The value defines how many files/sub-directories can be opened simultaneously.
                                / This feature consumes _FS_LOCK * 12 bytes of bss area. */
                                
                                
                                #define _FS_REENTRANT	0		/* 0:Disable or 1:Enable */
                                #define _FS_TIMEOUT		1000	/* Timeout period in unit of time ticks */
                                #define	_SYNC_t			HANDLE	/* O/S dependent sync object type. e.g. HANDLE, OS_EVENT*, ID and etc.. */
                                /*#include <windows.h>*/
                                
                                /* A header file that defines sync object types on the O/S, such as windows.h,
                                / ucos_ii.h and semphr.h, should be included here when enable this option.
                                / The _FS_REENTRANT option switches the re-entrancy (thread safe) of the FatFs module.
                                /
                                /  0: Disable re-entrancy. _FS_TIMEOUT and _SYNC_t have no effect.
                                /  1: Enable re-entrancy. Also user provided synchronization handlers,
                                /   ff_req_grant(), ff_rel_grant(), ff_del_syncobj() and ff_cre_syncobj()
                                /   function must be added to the project.
                                */
                                
                                
                                #endif /* _FFCONFIG */
                                البته توی پروتئوس کار میکنه ولی خب فک نمیکنم در عمل اصلا پروگ بشه میکرو :sad:
                                درایور شبکه و nRF24L01
                                کاتالوگ محصولات
                                کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
                                شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
                                فروش اسيلوسکوپ GWinstek GOS-630FC

                                دیدگاه

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