اطلاعیه

Collapse
No announcement yet.

[عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

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

    #16
    پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

    سلام
    از دوستان کسی میتونه منو راهنمایی کنه؟
    ممنون

    دیدگاه


      #17
      پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

      سلام
      ممنون از توضیحات و آموزش خوبتون...
      من برای خواندن از کارت مشکلی ندارم و فایل تکست داخل کارتو به درستی با توابع معرفی شده میتونم بخونم ولی برای نوشتن برروی کارت مشکل دارم. مثال های که داخل فایل های ضمیمه هم برای نوشتن کار نمیکنن!! ممنون میشم اگر راهنمایی کنید

      دیدگاه


        #18
        پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

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

        دیدگاه


          #19
          پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از &

          آقای بیرامی من مدتیه میخوام یه کار خیلی ساده انجام بدم تو پروتئوس جواب میده اما در عمل نه.
          فقط میخوام به صورت سکتور به سکتور بدون استفاده از فت و بدون اینکه بخوام یه دستوری رو هر چند میلی ثانیه اجرا کنم داخل میکرو اس دی بنویسم و بخونم. ممکنه یه لطفی بکنید و یه فایل مثل همون فایلی که برای دوستمون sookot گذاشته بودید بذارید تا بشه این کارو کرد. فایل ایشون جواب داد پس مدار سالمه. خیلی خیلی وقته درگیرم هنوز در عمل جواب نگرفتم.
          اونی که در عمل جواب نمیده اینه همون اول fail میشه.(فکر کنم برنامشو از همین انجمن گرفته بودم) :
          mmc0.rar
          یک دنیا ممنون میشم اگه این مشکلو حل کنید. پیر شدم سر این. هر چی میگردم مشکلشو پیدا نمیکنم.

          دیدگاه


            #20
            پاسخ : پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از &

            نوشته اصلی توسط redown
            آقای بیرامی من مدتیه میخوام یه کار خیلی ساده انجام بدم تو پروتئوس جواب میده اما در عمل نه.
            فقط میخوام به صورت سکتور به سکتور بدون استفاده از فت و بدون اینکه بخوام یه دستوری رو هر چند میلی ثانیه اجرا کنم داخل میکرو اس دی بنویسم و بخونم. ممکنه یه لطفی بکنید و یه فایل مثل همون فایلی که برای دوستمون sookot گذاشته بودید بذارید تا بشه این کارو کرد. فایل ایشون جواب داد پس مدار سالمه. خیلی خیلی وقته درگیرم هنوز در عمل جواب نگرفتم.
            اونی که در عمل جواب نمیده اینه همون اول fail میشه.(فکر کنم برنامشو از همین انجمن گرفته بودم) :
            mmc0.rar
            یک دنیا ممنون میشم اگه این مشکلو حل کنید. پیر شدم سر این. هر چی میگردم مشکلشو پیدا نمیکنم.
            سلام
            من اصلا سکتوری کار نکردم و نمیدونم داستانش چییه
            ولی هرچی هستو باید تو دیتاشیت SD پیدا کنی
            مصل یه IC حافظه باید باش کار کنی
            دستورات کار با SD به صورت سکتوری رو نمیدونم
            درایور شبکه و nRF24L01
            کاتالوگ محصولات
            کنترلر CNC شش محوره برای پرینتر 3D و Pick n Place
            شبیه ساز تک تیرانداز و سیبل دیجیتال با پردازش تصویر
            فروش اسیلوسکوپ GWinstek GOS-630FC

            دیدگاه


              #21
              پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

              توی سایت http://elm-chan.org/ هم سه تا دستور بعد از دستورای pff تو قسمت Disk I/O Interface گذاشته کسی تا حالا با اونا کار کرده؟

              دیدگاه


                #22
                پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

                با سلام خدمت جناب بیرامی

                من وقتی مثلا یه فایل 100 کیلو بایتی رو روش مینویسم، موقع خوندن، چند بایتی رو رندوم اشتباه میخونم. البته چون میکروم 5 ولتیه، سیگنالهای ورودی رو با تقسیم مقاومتی بهش دادم و خروجی رو هم از یه 7414 گذروندم تا 5 ولتی بشه.

                بنظرتون مشکل از تقسیم مقاومتیه یا از جای دیگه؟
                کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                دیدگاه


                  #23
                  پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

                  سلام مهندس
                  من کتابخونه ff.c که گفتینو گرفتم اما اصلا کار نمیکنه! حتی آموزشی که دادین با کتابخونه هاش متفاوته! مثلا تابع f_mount تو آموزش دوتا پارامتر میگیره اما تو فایلای کتابخونه 3تا پارامتر میگیره! فایل مثالی هم که گذاشتینو من تست کردم اصلا کار نکرد و تو تابع f_mount گیر میکنه! من با میکروی mega 64 کار میکنم و پایه های SPI رو درست کردم مشکل از اون نیست چون با کتابخونه pff درست کار میکنه فقط مشکلم با کتابخونه pff این هست که نمیشه توش درست نوشت
                  ممنون میشم اگه کمک کنید و مثل همون کتابخونه pff برای ff هم مثالهای تست شده بزارین یا کمک کنین تا خودم برناممو راه بندازم

                  دیدگاه


                    #24
                    پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

                    نوشته اصلی توسط redown
                    توی سایت http://elm-chan.org/ هم سه تا دستور بعد از دستورای pff تو قسمت Disk I/O Interface گذاشته کسی تا حالا با اونا کار کرده؟
                    منظورتون کدوم دستورات هست ؟ لطفاً ذکر کنید
                    امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                    دیدگاه


                      #25
                      پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

                      نوشته اصلی توسط mjmaleki
                      ...
                      ممنون میشم اگه کمک کنید و مثل همون کتابخونه pff برای ff هم مثالهای تست شده بزارین یا کمک کنین تا خودم برناممو راه بندازم
                      قبلاً بحث شده:
                      http://www.eca.ir/forum2/index.php?topic=92094.0
                      امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                      دیدگاه


                        #26
                        پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از &

                        نوشته اصلی توسط Abbas Sarami
                        منظورتون کدوم دستورات هست ؟ لطفاً ذکر کنید
                        این دستورات هست از خود سایت کپی میکنم:
                        Disk I/O Interface
                        Since the Petit FatFs module is completely separated from disk I/O layer, it requires following functions to lower layer to read data from storage device. The low level disk I/O module is not a part of Petit FatFs module and it must be provided by user. The sample drivers are also available in the resources.

                        disk_initialize - Initialize storage device
                        disk_readp - Read a partial sector
                        disk_writep - Divided write to a sector

                        اینم لینک توضیح هر دستور:
                        disk_readp:
                        http://elm-chan.org/fsw/ff/pf/dreadp.html
                        disk_writep:
                        http://elm-chan.org/fsw/ff/pf/dwritep.html


                        به جز این بالاییا تو قسمت FatFs هم چند تا دستور داره که فکر کنم از بالاییا پیشرفته تره:
                        Disk I/O Interface
                        Since the FatFs module is completely separated from disk I/O layer, it requires following functions to access the storage device. When O/S related feature is enabled, it will require process/memory functions in addition. However the low level disk I/O module is not a part of FatFs module, so that it must be provided by user. The sample implementations are also available in the downloads.
                        disk_status - Get device status
                        disk_initialize - Initialize device
                        disk_read - Read sector(s)
                        disk_write - Write sector(s)
                        disk_ioctl - Control device dependent features
                        get_fattime - Get current time
                        اینم لینکشه:
                        http://elm-chan.org/fsw/ff/00index_e.html

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

                        دیدگاه


                          #27
                          پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

                          Disk IO Interface :
                          تمامی کنترل های مربوط به خود SD/MMC را میتونی با توابع مذکور در دست بگیری
                          مثلاً خواندن و نوشتن سکتوری را میتوان با disk_readp و disk_readp (ویا disk_read و disk_read در ff.h) انجام بدی
                          برای هر کدام که مشکل داشتی مطرح کن تا کمکت کنم

                          در ضمن در صورت داشتن هرگونه سوال در مورد ff.h در تاپیک زیر مطرح کنید:
                          http://www.eca.ir/forum2/index.php?topic=92094.0
                          و برای pff.h همین جا در خدمتتون هستیم :mrgreen:

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

                          دیدگاه


                            #28
                            پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از &

                            نوشته اصلی توسط Abbas Sarami
                            Disk IO Interface :
                            تمامی کنترل های مربوط به خود SD/MMC را میتونی با توابع مذکور در دست بگیری
                            مثلاً خواندن و نوشتن سکتوری را میتوان با disk_readp و disk_readp (ویا disk_read و disk_read در ff.h) انجام بدی
                            برای هر کدام که مشکل داشتی مطرح کن تا کمکت کنم

                            در ضمن در صورت داشتن هرگونه سوال در مورد ff.h در تاپیک زیر مطرح کنید:
                            http://www.eca.ir/forum2/index.php?topic=92094.0
                            و برای pff.h همین جا در خدمتتون هستیم :mrgreen:

                            موفق باشید
                            خیلی ممنونم من فایل آقای بیرامی رو با دستورات io تغییر دادم. میدونم برنامم خیلی اشکال داره ولی نمیدونم مشکلش کجاست.
                            MMC SD2.rar - 177 KB
                            برای نوشتن: disk_writep(0, sector_number); سکتوری رو که میخوایم توش بنویسیم رو آماده میکنه درسته؟ بعدش توی disk_writep(data, byte_to_write);
                            به جای data و byte_to_write چی باید نوشت؟ و از چه نوعی باید باشن؟ میشه یه توضیحی بدید؟ مگه توی سکتور باید بایت به بایت نوشت؟ نمیشه یه رشته داد که بنویسه؟

                            دیدگاه


                              #29
                              پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از &

                              disk_readp چیست ؟
                              این تابع میتونه مستقیماً اطلاعات یک سکتور را بخونه
                              تابع disk_readp چهارتا پارامتر میگیره :
                              کد:
                              DRESULT disk_readp (
                               BYTE* buff,  /* [OUT] Pointer to the read buffer */
                               DWORD sector, /* [IN] Sector number */
                               UINT offset,  /* [IN] Byte offset in the sector to start to read */
                               UINT count   /* [IN] Number of bytes to read */
                              );
                              BYTE* buff : بافری که اطلاعات سکتور داخلش ریخته میشه و باید اون را ایجاد کنید:
                              کد:
                              BYTE Buffer[512];
                              DWORD sector : شماره سکتور مورد نظر
                              UINT offset : شماره بایتی که خواندن از اون شروع میشه ، مثلاً برای خواندن از ابتدای سکتور اون را 0 قرار می دهیم و مثلاً برای خواندن از بایت 50 به بعد آنرا 50 قرار میدهیم.
                              UINT count : تعداد بایتی که میخواهیم از سکتور بخونیم

                              مثلاً میخواهیم از سکتور 120 و از بایت 25 تا 35 را بخونیم (10 بایت) :
                              کد:
                              BYTE Buffer[10];
                               disk_readp ((BYTE*)&Buffer,120,25,10);
                              ------------------------------------------------
                              disk_writep چیست ؟
                              این تابع میتونه مستقیماً درون یک سکتور بنویسه
                              تابع disk_writep دوتا پارامتر میگیره :

                              کد:
                              DRESULT disk_writep (
                               BYTE* buff, /* [IN] Pointer to the data to be written */
                               DWORD sc,  /* [IN] Sector number or Number of bytes to wtite */
                              );
                              BYTE* buff : بافری که روی سکتور نوشته میشه و باید اون را ایجاد کنید:
                              کد:
                              BYTE Buffer[512];
                              DWORD sc : شماره سکتور مورد نظر

                              مثلاً میخواهیم روی سکتور 120 بافر "Buffer"را بنویسیم (512 بایت) :
                              کد:
                              BYTE Buffer[512];
                              ...
                               disk_writep((BYTE*)&Buffer,120);
                              موفق باشید
                              امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                              دیدگاه


                                #30
                                پاسخ : [عیدی]راه اندازی Micro SD به زبان C و استفاده از کتابخانه pff.h در CodeVision

                                من پست مجزا زدم تا تفکیک توضیحات برای اعضای محترم راحت تر باشه :arrow:

                                فرم کلی نوشتن را در پست قبلی توضیح دادم ولی نوشتن روی سکتور مراحل خاصی داره که توضیح میدم:

                                [glow=red,2,300]1-آماده سازی سکتور جهت نوشتن :[/glow]
                                برای این کار کافیه هنگام فراخوانی تابع disk_writep ، پارامتر buff را 0 قرار بدهید.
                                کد:
                                disk_writep (0,شماره سکتور مورد نظر);
                                [glow=red,2,300]2-نوشتن بافر مورد نظر [/glow]
                                کد:
                                disk_writep((BYTE*)&Buffer,شماره سکتور مورد نظر);
                                [glow=red,2,300]3- اتمام نوشتن روی سکتور [/glow]
                                برای اینکار آدرس سکتور و buff را 0 قرار می دهیم:
                                کد:
                                disk_writep (0,0);
                                موفق باشید
                                امام علی (علیه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

                                دیدگاه

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