اطلاعیه

Collapse
No announcement yet.

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

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

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

    سلام
    اگر قصد خواندن و نوشتن با کتابخانه ff رو دارید باید عرض کنم خدمتم عرض کنم که mega 32 جواب گو نخواهد بود و باید از میکرو با رم بالا تر همچون mega64 یا mega128 استفاده کنید

    اگر فقط قصد فقط خواندن از روی رم رو داری از یک کتابخونه ساده تر جناب آقای چان می تونید استفاده کنید به نام pf.h که ورژن ساده شده ff هستش
    اینم لینکش:

    در آخر خیلی نا امید نشید چون یک مهندس هندی به نام آقای هارمانی هم کتابخونه خوبی نوشته که از ff سبک تره و با mega 32 هم به راحتی کار میکنه
    از لینک زیر میتونید پروژه ای که با این کتابخونه انجام شده رو مشاهده کنید البته اگر توی سایتش بگردید پروژه های دیگری هم در مورد Sdcard پیدا خواهید کرد
    Hi friends, aim of this project is to present a way to store a large quantity of data into microSD card in files with FAT32 format. Here,...

    موفق باشد

    دیدگاه


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

      سلام.تشکر که جواب دادید.بله کتابخانه ی pff.h برای خوندن از روی sd واقعا خوبه باهاش کار کردم.من با atmega64 کتابخانه ی ff.h خود کدویژن رو هم امتحان کردم ولی بازم نشد.آخرینورژن ff.h هم از سایت آقای چان گرفتم ولی وقتی خواستم کامپایل کنم خطا میده که توابع f_open ,f_read,f_write و ... دیفاین نشدن.چطور میتونم اون هارو فعال کنم؟

      دیدگاه


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

        من حتی پروژه آقای اسدی و آقای صرامی رو که توی pdf آموزشی همین تاپیک بود رو روی atmega64 تست کردم ولی خطای ۳ میده.no_redy وقتی f_mount اجرا میشه.سایت آقای هارمانی هم رفتم ولی نتونستم جواب بگیرم.اگه بشه یه راهنمایی دیگه بکنید که بتونم با همین کتابخانه که توی pdf آموزشی بوده کار کنم ممنون میشم

        دیدگاه


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

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

          دیدگاه


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

            نوشته اصلی توسط mehdi.z نمایش پست ها
            کاش آقای اسدی و آقای صرامی هم بودند ازشون کمک میگرفتم که چطور اونها جواب گرفتند
            سلام دوست عزیز
            مشکلتون کجاست؟؟
            برنامتون رو بفرستین تا با هم بررسیش کنیم.

            دیدگاه


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

              سلام.من دقیقا با همون برنامه ای که در اولین پیام این تاپیک در pdf آموزشی است کار میکنم
              که برای atmega128 نوشته شده.من فقط اون رو به atmega64 تغییر دادم ولی خطای 3 میده.no_ready من همین مدار رو با bascom avr و pff.h هم تست کردم هیچ مشکلی نداشت.برنامه رو هم میفرستم .

              دیدگاه


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

                #include <io.h>
                #include <alcd.h>
                #include <stdio.h>
                #include <delay.h>
                #include <string.h>

                #include "ff_lib/mmc.c"
                #include "ff_lib/ff.c"

                #define F_CPU 8000000UL
                #define sei() #asm("sei")
                #define cli() #asm("cli")

                FATFS fs;
                FIL fl;

                interrupt [TIM2_COMP] void timer2_comp_isr(void)
                {
                disk_timerproc();
                }

                DWORD get_fattime (void)
                {
                /* Returns current time packed into a DWORD variable */
                return ((DWORD)(2014 - 1980) << 25) /* Year 2014 */
                | ((DWORD)4 << 21) /* Month 4 */
                | ((DWORD)10<< 16) /* Mday 10 */
                | ((DWORD)0 << 11) /* Hour 0 */
                | ((DWORD)0 << 5) /* Min 0 */
                | ((DWORD)0 >> 1); /* Sec 0 */
                }

                void put_rc (FRESULT rc)
                {
                char string[32];
                flash char *str[] =
                {
                "OK",
                "DISK_ERR",
                "INT_ERR",
                "NOT_READY",
                "NO_FILE",
                "NO_PATH",
                "INVALID_NAME",
                "DENIED",
                "EXIST",
                "INVALID_OBJECT",
                "WRITE_PROTECTED",
                "INVALID_DRIVE",
                "NOT_ENABLED",
                "NO_FILE_SYSTEM",
                "MKFS_ABORTED",
                "TIMEOUT",
                "LOCKED",
                "NOT_ENOUGH_CORE",
                "TOO_MANY_OPEN_FILES"
                };

                if(rc>0)
                {
                lcd_clear();
                sprintf(string, "res = %u", rc);
                lcd_gotoxy(0, 0);
                lcd_puts(string);
                sprintf(string, "%p", str[rc]);
                lcd_gotoxy(0, 1);
                lcd_puts(string);
                while(1);
                }
                }


                void main(void)
                {
                UINT bw,i;
                FRESULT res;
                char str[16];
                lcd_init(16);

                // کانفیق تایمر دو برای پریود 100 هرتز
                OCR2 = F_CPU / 1024 / 100 - 1;
                TCCR2 = _BV(WGM21) | _BV(CS22) | _BV(CS20);
                sbi(TIMSK,OCIE2);

                sei();

                lcd_clear();

                lcd_gotoxy(0, 0);
                lcd_puts("Please Wait");

                put_rc(disk_initialize(0));
                put_rc(f_mount(&fs, "", 0)); //شناسایی دیسک
                do
                {
                sprintf(str,"Text%04u.txt",i++); // ایجاد نام فایل
                res = f_open(&fl, str, FA_WRITE | FA_CREATE_NEW); // ایجاد فایل با نام فوق
                if(res != FR_EXIST) // اگر قبلا فایلی بانام فوق وجود نداشته باشد
                {
                put_rc(res); // چک کردن خطا
                break; // خروج
                }

                }while(i<1000);

                lcd_gotoxy(0, 1);
                for(i=0;i<10000;i++)
                {
                sprintf(str,"%4u Polestar!\r\n",i); // ایجاد دیتایی که قراره توی فایل نوشته شود
                res = f_write(&fl, str, 16, &bw); // نوشتن دیتا در فایل
                if(i%624 == 0)lcd_puts(">"); // شیفت دادن پروگرس بار
                if(res)put_rc(res); // چک کردن خطا
                }
                put_rc(f_close(&fl)); // بستن فایل

                lcd_clear();
                lcd_gotoxy(0, 0);
                lcd_puts("OK");
                lcd_gotoxy(0, 1);
                lcd_puts("End Of Operation");

                while (1)
                {

                };
                };



                دلیل: ادغام دو پست برای جلوگیری از اسپم

                eca.ir/sharing/uploads/13973090401.rar

                دلیل: ادغام دو پست برای جلوگیری از اسپم

                فایلی که من استفاده کردم

                دیدگاه


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

                  برنامه رو دیدید؟

                  دیدگاه


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

                    سلام - بله برنامه رو الان دیدم

                    بررسی میکنم جوابش رو اعلام میکنم

                    دیدگاه


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

                      آقا مهدی
                      برنامه برای مگا 64 کامپایل و در پروتئوس تست شد ، مشکلی نداشت.

                      دیدگاه


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

                        بله درسته توی پروتوس جواب میده اما نمیدونم چرا توی عمل روی lcd خطایNO_READY میده.من از sd کارت ۲گیگ استفاده میکنم شرکت sandisk شما عملا این برنامه رو تست کردید جواب داد؟


                        البته من با کتابخونه خود کدویژن هم برنامه رو نوشتم اما یه مشکل کوچیک داره.باید پایه ی miso رو یکبار قطع و وصل کنم بعد خوب به کار میوفته و فایل ایجاد میشه.میخونه.مینویسه.نمیدونم دیگه چیکار باید بکنم؟؟!!
                        جدیدترین ویرایش توسط mehdi.z; ۲۱:۳۸ ۱۳۹۷/۱۱/۲۴.

                        دیدگاه


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

                          بله توی عمل هم جواب داد، احتمالا مشکل از فرمت SD کارتتون هست، SD کارتتون رو روی یک سیستم با ویندوز 7 فرمت کنید، احتمالا درست میشه.

                          دیدگاه


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

                            من با ویندوز ۷ کار میکنم.این فرمت هاهم امتحان کردم
                            fat(defaulte) ,fat32, 512 byte__4096byte و... ولی نشد.شما با چه فرمت و چه مقدار سکتور فرمت کردید؟کارت حافظتون چند گیگ بوده؟میکروتون چی بوده؟با ماژول micro sd کار کردید یا خودتون با مقاومت وصل کردید؟

                            دیدگاه


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

                              با فرمت fat32 -4096bytes و مموری 2GB و 4GB و میکرو mega128 جواب گرفتم
                              با ماژول کارتخوان میکرو SD کار کرد.

                              دیدگاه

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