اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h

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

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

    نوشته اصلی توسط n340
    کسی میدونه توی pff برای فایل سایز های بالای 65 کیلو چه کنیم که درست نشون بده؟
    سلام برای pff این تاپیک رو بخون خیلی چیزا دستت میاد
    [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision
    درایور شبکه و nRF24L01
    کاتالوگ محصولات
    کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
    شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
    فروش اسیلوسکوپ GWinstek GOS-630FC

    دیدگاه


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

      نوشته اصلی توسط بسطام بیرامی
      آقای اسدی یه سوال دیگه
      توی پوشه SD شما فایل mmc.c هم هست که من توی فایل ff10a که دانلود کردم اصلا mmc.c نیست
      اصلا این mmc.c رو باید از کجا آورد؟! ( شما از کجا آوردینش؟! )
      و این که diskio.c در پوشه چان هست ولی تو فایل های شما نیست
      میشه اختلاف اینا رو توضیح بدید
      واین که کلا تو یه پوشه مثلا همون SD که شما کنار پروژتون قرار میدید چییا باید باشه و چییا نباید باشه و اگر پدیت جدیدی چان جان داد کدوما رو با قبلیا جایگزین کنم که با برنامه جدید پروژه کامپایل شه
      بسطام جان چرا pm ؟ همین جا بپرس من در خدمتم :mrgreen:
      با اجازه مهندس اسدی عزیز ، توضیحات کامل در مورد mmc.c را مینویسم:
      ------------------------------------------
      اول از همه این فایل را دانلود کنید: http://elm-chan.org/fsw/ff/ffsample.zip
      توی این فایل زیپ مجموعه ای کامل از این کتابخانه است. ابتدا آنرا extract کنید

      در پوشه ی avr_complex فایل های cfmm.c و diskio.h مورد بحث ماست:

      در فایل diskio.h توابع مورد نیاز FatFS برای دستیابی به اصل حافظه نوشته شده (توابعی برای خواندن و نوشتن روی هرگونه حافظه از قبیل mmc , HDD , USB Storage ...)
      توابع مذکور به شرح زیر هستند:
      کد:
      /* Prototypes for disk control functions */
      DSTATUS disk_initialize (BYTE pdrv);
      DSTATUS disk_status (BYTE pdrv);
      DRESULT disk_read (BYTE pdrv, BYTE* buff, DWORD sector, UINT count);
      #if	_USE_WRITE
      DRESULT disk_write (BYTE pdrv, const BYTE* buff, DWORD sector, UINT count);
      #endif
      #if	_USE_IOCTL
      DRESULT disk_ioctl (BYTE pdrv, BYTE cmd, void* buff);
      #endif
      void disk_timerproc (void);
      همونطور که کاملاً واضحه توابعی همچون نوشتن روی حافظه ، خواندن از حافظه ، مشخص کننده وضعیت حافظه و ... میباشد که مثلاً برای رابطه با MMC باید این توابع را تهیه کنید (اگه دقت کرده باشید در فایل diskio.c موجود در پوشه اصل لایبریری، فرم توابع را نوشته ولی درون توابع خالیست!)
      حالا این توابع را برای MMC از کجا بیاریم این وقت شب؟؟؟!!!
      از همون فایل zip که در بالا آدرسش را دادم ؛ [glow=red,2,300]فایل cfmm.c[/glow]
      کلیه توابع اصلی disk را برای MMC میتونید از همین فایل ؛ [glow=red,2,300]فایل cfmm.c[/glow] بدست بیارید! به همین راحتی به همین خوشمزگی!

      فقط یک نکته خیلی خیلی کوچولو داره و اینکه: باید در همون ابتدای فایل cfmm.c برای کار با MMC مقادیر این جور باشه (که پیش فرض هست)
      کد:
      #define CFC	0	/* PD# of CompactFlash */
      #define MMC	1	/* PD# of MMC/SDC */
      تنظیمات جانبی برای سرعت SPI و پین های CS و protected pin هم توی همین فایله
      کد:
      /* Control signals and macros (Platform dependent) */
      #define CS_LOW()	PORTB &= ~1		/* MMC CS = L */
      #define	CS_HIGH()	PORTB |= 1		/* MMC CS = H */
      
      #define MMWP	(PINB & 0x20)		/* Write protected. yes:true, no:false, default:false */
      #define MMINS	(!(PINB & 0x10))	/* Card detected.  yes:true, no:false, default:true */
      
      #define	FCLK_SLOW()	SPCR = 0x52		/* Set slow clock (100k-400k) */
      #define	FCLK_FAST()	SPCR = 0x50		/* Set fast clock (depends on the CSD) */
      موفق باشید
      امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


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

        ممنون آقا
        بسیار عالی
        خب من این کارارو کردم
        الان پروژه ای ساختم برای Mega128
        توی پوشه پروژه کل پوشه ff10a رو کپی کردم
        و از ffsample و از پوشه AVR_Complex فایل cfmmc.c رو هم توی این پوشه کپی کردم
        خب تا اینجا پس شد :
        Main برنامم :
        کد:
        #include <mega128.h>
        #include <alcd.h>
        #include <delay.h>
        
        
        void main(void)
        {
        
        
        lcd_init(16);
        lcd_putsf("FF Lib Test");
        delay_ms(1000);
        
        while (1)
           {
           // Place your code here
        
           }
        }
        این هم پوشه ای که توی پروژه فایل های مربوط به ff رو توش ریختم :


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

        دیدگاه


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

          نوشته اصلی توسط بسطام بیرامی
          سلام برای pff این تاپیک رو بخون خیلی چیزا دستت میاد
          [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision
          یکم سوال تخصصی تر از این فایل بود :mrgreen:
          حجم (به بایت)فایل های بالاتر از محدوده Dword مشکل سریز شدن متغییر fsize رو دارند
          هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
          بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
          میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

          تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

          دیدگاه


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

            نوشته اصلی توسط n340
            یکم سوال تخصصی تر از این فایل بود :mrgreen:
            حجم (به بایت)فایل های بالاتر از محدوده Dword مشکل سریز شدن متغییر fsize رو دارند
            با سلام

            DWORD میشه unsigned long
            یعنی یه متغیر 32 بیتی هست نه 16 بیتی
            که میشه یه فایلی حدود 4 گیگابایت نه 65 کیلو

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

            دیدگاه


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

              با تشکر از جناب اسدی عزیز
              پس مشکل در تنظیم sprintf بوده که الان متوجه شدم
              یک اشتباه لپی بوده
              ممنونم
              هرچه سعی کنیم لایه های نرم افزاری زیاد کرده و از سخت افزار دور کنیم مشکلات(باگ ها) کمتر خواهد شد(امنیت بیشتری خواهید داشت)
              بهترین جواب دهنده برای سوال شما، خود شما هستید البته بعد تلاش،پشتکار و مطالعه بیشتر
              میدونی مشکل ما کجاست؟سرمایه و مغز ها رو نمیتونیم یکجا جمع کنیم...

              تعدادی ماژول GPS GP5MX1513F1 با بالاتریت حساسیت -170db به قیمت خرید بفروش میرسد

              دیدگاه


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

                :angry: :angry: :angry: :angry: :angry:
                آقا من از دیروز هرچی رو Include میکنم همش error میده

                اول آمدم طبق فایل main.c آقای اسدی فایل های mmc.c و ff.c رو Include کردم اینطوری :

                کد:
                #include <mega128.h>
                #include <alcd.h>
                #include <io.h>
                #include <delay.h>
                #include <stdio.h>
                #include <stdlib.h>
                #include <string.h>
                
                typedef signed char       int8;
                typedef unsigned char      uint8;
                typedef signed int       int16;
                typedef unsigned int      uint16;
                typedef signed long int     int32;
                typedef unsigned long int    uint32;
                
                #define NOP()                  #asm("nop")
                #define SEI()                  #asm("sei")
                #define CLI()                  #asm("cli")
                #define _BV(pin)                (1<<(pin))
                #define sbi(port,pin)              port |= _BV(pin)
                #define cbi(port,pin)              port &= ~_BV(pin)
                #define bis(port,pin)		          (port & _BV(pin))
                #define lbis(port, pin)             while (!bis(port,pin));
                
                
                #include "ff10a\src\ff.c"
                #include "ff10a\src\mmc.c"
                
                
                #define LCD_BL_ON()               sbi(LCD_BL_PRT,LCD_BL_BIT)
                #define LCD_BL_OF()               cbi(LCD_BL_PRT,LCD_BL_BIT)
                
                FIL File;
                unsigned char buffer1[15] = "Hello World";
                volatile UINT Timer;
                
                /*---------------------------------------------------------*/
                /* 100Hz timer interrupt generated by OC2         */
                /*---------------------------------------------------------*/
                interrupt [TIM2_COMP] void timer2_comp_isr(void)
                  {
                	Timer++;
                	disk_timerproc();
                  }
                
                DWORD get_fattime (void)
                  {
                	return 0;
                  }
                
                
                void main(void)
                {
                
                
                lcd_init(16);
                lcd_putsf("FF Lib Test");
                delay_ms(1000);
                
                while (1)
                   {
                   // Place your code here
                
                   }
                }
                این خطا ها رو میده :


                دیدم نمیشه آمدم از برنامه ffsample مربوط به AVR_Complex ایده گرفتم و اینطوری نوشتم :

                کد:
                #include <mega128.h>
                #include <alcd.h>
                #include <io.h>
                #include <delay.h>
                #include <stdio.h>
                #include <stdlib.h>
                #include <string.h>
                
                typedef signed char       int8;
                typedef unsigned char      uint8;
                typedef signed int       int16;
                typedef unsigned int      uint16;
                typedef signed long int     int32;
                typedef unsigned long int    uint32;
                
                #define NOP()                  #asm("nop")
                #define SEI()                  #asm("sei")
                #define CLI()                  #asm("cli")
                #define _BV(pin)                (1<<(pin))
                #define sbi(port,pin)              port |= _BV(pin)
                #define cbi(port,pin)              port &= ~_BV(pin)
                #define bis(port,pin)		          (port & _BV(pin))
                #define lbis(port, pin)             while (!bis(port,pin));
                
                #include "ff10a\src\ff.h"
                #include "ff10a\src\cfmm.c"
                
                
                #define LCD_BL_ON()               sbi(LCD_BL_PRT,LCD_BL_BIT)
                #define LCD_BL_OF()               cbi(LCD_BL_PRT,LCD_BL_BIT)
                
                FIL File;
                unsigned char buffer1[15] = "Hello World";
                volatile UINT Timer;
                
                /*---------------------------------------------------------*/
                /* 100Hz timer interrupt generated by OC2         */
                /*---------------------------------------------------------*/
                interrupt [TIM2_COMP] void timer2_comp_isr(void)
                  {
                	Timer++;
                	disk_timerproc();
                  }
                
                DWORD get_fattime (void)
                  {
                	return 0;
                  }
                
                void main(void)
                {
                
                
                lcd_init(16);
                lcd_putsf("FF Lib Test");
                delay_ms(1000);
                
                while (1)
                   {
                   // Place your code here
                
                   }
                }
                که کلا برنامه ترکید
                کلی error داد ( که البته بیشترش فکنم بخاطر این باشه که cfmm.c برای Atmel Studio نوشته شده
                مثلا توی تابع Delay مده 2 تا مقدار گذاشته اینطوری :
                کد:
                ) Delay_ms(0,100
                اینم خطاهایی که داده :


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

                دیدگاه


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

                  دوست من ، فایلی که آدرسش را دادم کلکسیون اطلاعاته
                  اگه با فایل cfmm.c مشکل داری از فایل mmc_avr.c استفاده کن ، این هم یک درایور mmc/sd هست
                  یعنی کسی پیدا نمیشه بگه من بخوام از آخرین ورژن ff که الان ff10a هست استفاده کنم به کدوم فایل ها نیاز دارم و باید چطوری به پروژم اضافشون کنم
                  فقط بتونم یه درایو رو Init کنم و یه فایل رو Opne ؟؟؟!!!!!
                  mmc_avr.c
                  diskio.h
                  integer.h
                  ffconf.h
                  ff.c
                  ff.h
                  اگه خواستی rtc.c (اجباری نیست)
                  اگه فرصت کردم برای کدویژن یک مثال میذارم


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

                  دیدگاه


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

                    این را دانلود کن و تست کن
                    من امکان تست ندارم فقط compile کردم
                    ff10a Codevision.rar - 364 KB

                    تست کنید و نتیجه را اعلام کنید

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

                    دیدگاه


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

                      با سلام
                      اقای بیرامی عزیز عرض کردم ک به پست های قبلی بنده مراجعه کنید یه نمونه برنامه پیدا میکنید

                      به پست 176 همین تاپیک اگر یه نگاهی میکردید مشکلتون حل میشد

                      دوستان دقت کنید دلیل جواب ندادن بنده به برخی سوالا از روی غرض نیست بلکه چون قبلا در موردش صحبت شده دیگه نیازی به دباره جواب دادن نمیبینم :twisted:
                      لطفا به پست های قبل سر بزنید و مطالعه کنید :cry:

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

                      دیدگاه


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

                        نوشته اصلی توسط Abbas Sarami
                        دوست من ، فایلی که آدرسش را دادم کلکسیون اطلاعاته
                        آقا من بیسوادم خب
                        شما نسبت به خودتون میگید که کل این کتابخونه ها رو از حفظید
                        من با این کتابخونه تازا آشنا شدم اصلا فایلو باز میکنم اینقد چیزای خارجی نوشته که متوجه نمیشم چی به چییه
                        یکم سطح پایین بگید

                        نوشته اصلی توسط Abbas Sarami

                        اگه با فایل cfmm.c مشکل داری از فایل mmc_avr.c استفاده کن ، این هم یک درایور mmc/sd هست
                        mmc_avr.c
                        diskio.h
                        integer.h
                        ffconf.h
                        ff.c
                        ff.h
                        اگه خواستی rtc.c (اجباری نیست)
                        اگه فرصت کردم برای کدویژن یک مثال میذارم

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

                        دیدگاه


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

                          نوشته اصلی توسط POLESTAR
                          با سلام
                          اقای بیرامی عزیز عرض کردم ک به پست های قبلی بنده مراجعه کنید یه نمونه برنامه پیدا میکنید

                          به پست 176 همین تاپیک اگر یه نگاهی میکردید مشکلتون حل میشد

                          دوستان دقت کنید دلیل جواب ندادن بنده به برخی سوالا از روی غرض نیست بلکه چون قبلا در موردش صحبت شده دیگه نیازی به دباره جواب دادن نمیبینم :twisted:
                          لطفا به پست های قبل سر بزنید و مطالعه کنید :cry:

                          به همین سادگی :nice:
                          آقای اسدی عزیز
                          من گفتم که خوندم برنامتونو
                          همه این 20 صفحه رو خوندم
                          توی سوال اولمم گفتم برنامه شما رو دقیقا که اجرا میکنم
                          اول تابه Init مقدار 0x02 برمیگردونه و بعد میشه 0x03 هم تو شبیه ساز هم روی برد
                          اونو کسی جواب نداد
                          دیدم کتابخونه های شما 0.9 هستند و برام گنگ بود که اگر الان بخوام 1.0a آمده چطور برنامه شما رو بروز کنم با فایل های پدیت شده
                          که باز هم نه شما نه کس دیگه جواب نداد
                          باورتون میشه من خودم اصلا منتظر جواب نمیمونم و تا جوابی داده بشه زیرو رو میکنم تاپیک ها رو
                          حتی توی avrfreaks هم عضو هستم اونجا هم خیلی گشتم چیزایی هم پیدا کردم ولی چرتوپرت بودن ( شایدم من سوادم کافی نبود که درکشون کنم )
                          برای همین باز دوباره سوال پرسیدم
                          درایور شبکه و nRF24L01
                          کاتالوگ محصولات
                          کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
                          شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
                          فروش اسیلوسکوپ GWinstek GOS-630FC

                          دیدگاه


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

                            نوشته اصلی توسط Abbas Sarami
                            این را دانلود کن و تست کن
                            من امکان تست ندارم فقط compile کردم
                            ff10a Codevision.rar - 364 KB

                            تست کنید و نتیجه را اعلام کنید

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

                            دیدگاه


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

                              نوشته اصلی توسط بسطام بیرامی
                              آقای اسدی عزیز
                              من گفتم که خوندم برنامتونو
                              همه این 20 صفحه رو خوندم
                              توی سوال اولمم گفتم برنامه شما رو دقیقا که اجرا میکنم
                              اول تابه Init مقدار 0x02 برمیگردونه و بعد میشه 0x03 هم تو شبیه ساز هم روی برد
                              اونو کسی جواب نداد
                              دیدم کتابخونه های شما 0.9 هستند و برام گنگ بود که اگر الان بخوام 1.0a آمده چطور برنامه شما رو بروز کنم با فایل های پدیت شده
                              که باز هم نه شما نه کس دیگه جواب نداد
                              باورتون میشه من خودم اصلا منتظر جواب نمیمونم و تا جوابی داده بشه زیرو رو میکنم تاپیک ها رو
                              حتی توی avrfreaks هم عضو هستم اونجا هم خیلی گشتم چیزایی هم پیدا کردم ولی چرتوپرت بودن ( شایدم من سوادم کافی نبود که درکشون کنم )
                              برای همین باز دوباره سوال پرسیدم
                              همون فایلتونو که میگید شبیه سازی کردید رو اپلود کنید تا ببینم چشه !!!

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

                              دیدگاه


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

                                نوشته اصلی توسط POLESTAR
                                همون فایلتونو که میگید شبیه سازی کردید رو اپلود کنید تا ببینم چشه !!!

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

                                دیدگاه

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