اطلاعیه

Collapse
No announcement yet.

کتابخانه ff.h

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

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

    نوشته اصلی توسط Abbas Sarami
    قبلاً بحث شده :read:
    پایه هایی که از SD استفاده نمیشه را با مقاومت 22 کیلو پول پ کن
    از رگولاتور برای تغذیه SD استفاده کن و خازن گذاری مناسب
    فاصله میکرو و SD را به حداقل ممکن برسون
    از SD کمتر از 4 گیگ استفاده کن

    موفق باشید
    من 4 گیگم جواب گرفتم.

    دیدگاه


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

      نوشته اصلی توسط vahid_22002
      من 4 گیگم جواب گرفتم.
      قبلاً در مورد این موضوع بحث شده
      من خودم 8 گیگ هم درایو کردم بدون مشکل
      برای دوستانی که به مدار و برنامشون شک دارند از زیر 4 گیگ استفاده کنند
      موفق باشید
      امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


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

        فاصله سیمها از کارت تا میکرو را کم کنید. از کارت حافظه با مارک معروف استفاده کنید (نه از این زیر پله ای ها). حتما جواب می گیرین.
        در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

        1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
        2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
        3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

        دیدگاه


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

          سلام
          من میخواستم بدونم کتابخانه ی چان امکانی برای فرمت کردن کامل مموری کارت
          رو توسط میکرو کنترلر داره
          اگر هست با چه دستوری باید اینکار رو انجام بدم
          و ایا امکانش هست از یک مموری کارت دوتا درایو بسازیم ؟
          و در اخر تابع زیر برای چی هست ؟
          کد:
          DWORD get_fattime ()
          {
          	return	 13000000;
          
          }
          با تشکر

          دیدگاه


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

            نوشته اصلی توسط Sadeghbakhshi
            سلام
            من میخواستم بدونم کتابخانه ی چان امکانی برای فرمت کردن کامل مموری کارت
            رو توسط میکرو کنترلر داره
            اگر هست با چه دستوری باید اینکار رو انجام بدم
            و ایا امکانش هست از یک مموری کارت دوتا درایو بسازیم ؟
            و در اخر تابع زیر برای چی هست ؟
            کد:
            DWORD get_fattime ()
            {
            	return	 13000000;
            
            }
            با تشکر
            بله. میشه فرمت کرد. 2 تا درایو هم احتمالا میشه ولی کار صحیحی نیست. میخواهید با 2 تا درایو چیکار کنین؟
            تاریخی که در fat ذخیره شده را برمیگردونه.(تاریخ فایل)
            در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

            1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
            2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
            3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

            دیدگاه


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

              نوشته اصلی توسط Sadeghbakhshi
              من میخواستم بدونم کتابخانه ی چان امکانی برای فرمت کردن کامل مموری کارت رو توسط میکرو کنترلر داره
              از تابع f_mkfs استفاده کنید.
              و ایا امکانش هست از یک مموری کارت دوتا درایو بسازیم ؟
              از تابع f_fdisk استفاده کنید.
              تابع زیر برای چی هست ؟
              کد:
              DWORD get_fattime ()
              این تابع تاریخ و ساعت کنونی که توسط RTC باید تامین بشه را میگیره و برای ثبت در Modify date فایل استفاده میکنه ، هر فایل دارای modify date هست که زمان ایجاد یا ویرایش اون فایل را نشون میده. این موضوع در ویندوز به وضوح قابل مشاهده هست.



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

              دیدگاه


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

                سلام
                میشه بگید که از دستور زیر چطوری باید استفاده کرد؟
                و زمان رو درج کرد؟
                کد:
                DWORD get_fattime ()
                من rtc رو موقع اجرای برنامه راه اندازی نکردم
                و مثالی که دارم فقط یک عدد ثابت 13000000 رو بر میگردونه
                و از طرفی وقتی که این دستور رو داخل کامنتها میزارم بهم ارور میده و میگه که
                ورودی های پروژه ناقص هست
                با تشکر

                دیدگاه


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

                  تعریف صحیح این تابع به این شکل است :
                  کد:
                  DWORD get_fattime (void)
                  {
                  	RTC rtc;
                  	/* Get local time */
                  	rtc_gettime(&rtc);
                  
                  	/* Pack date and time into a DWORD variable */
                  	return	 ((DWORD)(rtc.year - 1980) << 25)
                  			| ((DWORD)rtc.month << 21)
                  			| ((DWORD)rtc.mday << 16)
                  			| ((DWORD)rtc.hour << 11)
                  			| ((DWORD)rtc.min << 5)
                  			| ((DWORD)rtc.sec >> 1);
                  }
                  در این تابع، در استراکچر rtc مقادیر ساعت و تقویم را می ریزیم (توسط تابع rtc_gettime) و تابع get_fattime این مقادیر را بصورت DWORD پشت سر هم قرار میده


                  و از طرفی وقتی که این دستور رو داخل کامنتها میزارم بهم ارور میده و میگه که
                  ورودی های پروژه ناقص هست
                  ورودی تابع را void تعریف کنید :
                  کد:
                  DWORD get_fattime (void)
                  موفق باشید
                  امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                  دیدگاه


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

                    سلام
                    خسته نباشید
                    راستش من میخوام یک فایل تو MMC بسازم و توش داده ذخیره کنم که توی رایانه قابل تحلیل باشه
                    خیلی کلنجار رفتم ولی نتونستم تا اینکه فهمیدم وقتی برای open کردن فایل از FA_CREATE_NEW یا FA_CREATE_ALWAYS استفاده می کنم فایل ایجاد میشه ولی وقتی میخام توش داده بنویسم خطا میده
                    از طرفی اگه یه فایل که قبلا ایجاد شده رو با FA_OPEN_EXISTING باز میکنم ظاهرا می تونم توش داده بریزم
                    من از XMEGA128A1 و پورت C یا همون SPIC برای راه اندازی mmc استفاده کردم(در ضمن READ_ONLY هم صفره)
                    خیلی خسته شدم :angry: :angry: :angry: :angry: :angry:
                    اگه کسی میتونه یه برنامه نمونه برام بنویسه خیلی بهم کمک کرده

                    دیدگاه


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

                      نوشته اصلی توسط ZJ-BJ
                      سلام دوستان

                      من با مموری micro sd تونستم فایل باز کنم و محتویاتش رو بخونم...

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

                      res = f_open(&ff1, "0:/bb.txt", FA_CREATE_ALWAYS | FA_WRITE);

                      مقدار صفر رو بر میگردونه که یعنی فایل ایجاد شده...
                      با دستور f_close(&ff1); هم فایل رو میبندم... منتها توی مموری فایلی ایجاد نشده....


                      بعد از دستور ایجاد فایل بالا وقتی با دستور زیر
                      res = f_write(&ff1, buffer,16, &bw);

                      میخوام مقدار بافر رو بنویستم خطای 1 رو میده که به دیسک گیر میده!!!

                      هر راهی به ذهنم رسید انجام دادم...

                      ایراد از چی میتونه باشه... ممنونم
                      سلام بچه ها منم دقیقا همین مشکل رو دارم
                      من با xmega128a1 کار می کنم و از SPIC استفاده می کنم بعد از کلی کلنجار فهمیدم که توی open کردن فایل اگه با CREATE_ALWAYS و CREATE_EXISTING کار کنم نمیشه تو فایل چیزی نوشت و ERROR میده (فایل ساخته میشه ولی چیزی توش نوشته نمیشه)اما اگه یه فایل قبلا وجود داشته باشه و اون رو باز کنم میشه توش چیز نوشت
                      نمیدونم مشکل از کجاست؟؟؟ :cry: :cry:
                      اگه میشه یکی کمک کنه oo: oo: oo: :angry: :angry: :angry: :angry:

                      دیدگاه


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

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

                        res=f_mount(0,&Drive);
                        res=f_open(&file,SavePath,FA_CREATE_ALWAYS | FA_WRITE);
                        res=f_write(&file,A,N,&nbytes);
                        res=f_close(&file);

                        برای اضافه کردن به فایلی که قبلا ایجاد شده :

                        res=f_mount(0,&Drive);
                        // res=f_open(&file,SaveLogPath,FA_OPEN_ALWAYS | FA_WRITE);
                        // res=f_lseek (&file, file.fsize);
                        res=f_write(&file,A,N,&nbytes);
                        res=f_sync(&file);

                        A : آدرس متغیری که میخواهید تو فایل بنویسید.
                        N : طول متغیر

                        تعریف متغیر ها هم اینجوریه
                        /* FAT function result */
                        FRESULT res;
                        /* will hold the information for logical drive 0: */
                        FATFS Drive;
                        /* will hold the file information */
                        FIL file;

                        /* file path */
                        char SavePath[]="0:/00-00-00.Log";

                        انشاالله مشکلتون حل بشه.



                        در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                        1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                        2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                        3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                        دیدگاه


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

                          نوشته اصلی توسط Abbas Sarami
                          قبلاً در مورد این موضوع بحث شده
                          من خودم 8 گیگ هم درایو کردم بدون مشکل
                          برای دوستانی که به مدار و برنامشون شک دارند از زیر 4 گیگ استفاده کنند
                          موفق باشید
                          من تا 8 گیگ SD HC جواب گرفتم اونم class 10
                          معیار واقعی بودن تصمیم، آن است که دست به عمل بزنیم.

                          دیدگاه


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

                            نوشته اصلی توسط siyavash2k
                            برای نوشتن داخل فایلی که تازه ایجاد میشه

                            res=f_mount(0,&Drive);
                            res=f_open(&file,SavePath,FA_CREATE_ALWAYS | FA_WRITE);
                            res=f_write(&file,A,N,&nbytes);
                            res=f_close(&file);

                            برای اضافه کردن به فایلی که قبلا ایجاد شده :

                            res=f_mount(0,&Drive);
                            // res=f_open(&file,SaveLogPath,FA_OPEN_ALWAYS | FA_WRITE);
                            // res=f_lseek (&file, file.fsize);
                            res=f_write(&file,A,N,&nbytes);
                            res=f_sync(&file);

                            A : آدرس متغیری که میخواهید تو فایل بنویسید.
                            N : طول متغیر

                            تعریف متغیر ها هم اینجوریه
                            /* FAT function result */
                            FRESULT res;
                            /* will hold the information for logical drive 0: */
                            FATFS Drive;
                            /* will hold the file information */
                            FIL file;

                            /* file path */
                            char SavePath[]="0:/00-00-00.Log";

                            انشاالله مشکلتون حل بشه.
                            با سلام و ممنون از راهنمایی تون
                            آقای کی نژاد یه پروژه نوشته بودند که توی سایتشون هم هست درباره راه اندازی MMC
                            از پروژه ایشون استفاده کردم و تغییرات لازم رو متناسب با برد خودم دادم که دیدم درست کار کرد
                            نفهمیدم مشکل از کجا بود ولی خدا رو شکر مشکلم حل شد
                            ممنون

                            دیدگاه


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

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

                              1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                              2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                              3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                              دیدگاه


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

                                آقا من یه برنامه ای نوشتم که توی 6 تا فایل متنی اطلاعات بنویسه ولی در بعضی اوقات به صورت تصادفی درون فایلها متن خراب می شه و به خط چینی(㑁〽㈮1㑁〽ㄮ1) در می آد. موندم چیکار کنم :question:

                                دیدگاه

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