اطلاعیه

Collapse
No announcement yet.

SD با LPC1768

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

    SD با LPC1768

    سلام دوستان
    من طبق لینک زیر همه ی تنطیمات اتصال و راه اندازی SD رو به LPC1768 انجام دادم ولی نتیجه ای نگرفتم . لطفا یکی کمکم کنه .
    http://www.eca.ir/forum2/index.php?topic=74453.0

    ترتیب پایه ها :

    MOSI P0.18
    MISO P0.17
    SCK P0.15
    CS P0.16

    پروژه:

    http://s6.picofile.com/file/8240787092/SD.zip.html


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

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

    #2
    پاسخ : SD با LPC1768

    سلام!
    برد من به صورت زیرپایه هاش به میکرو وصل شده!

    شما اینجوری وصل کن ببین کار میکنه؟!
    بعدشم برنامه ی زیر رو روش اجرا کن!
    چون فک کنم برنامه خودت کلا یک فایل رو کم داشت!
    http://www.eca.ir/forum2/index.php?topic=75463.msg452771#msg452771

    دیدگاه


      #3
      پاسخ : SD با LPC1768

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

      دیدگاه


        #4
        پاسخ : SD با LPC1768

        سلام!
        بله برای من کار کرد!
        شما اگه دسترسی به UART نداری! برنامه زیر رو پروگرام کن و یه LED به یکی از پین های 0 تا 7 از پورت 2 وصل کن! ( مثلا PORT2.0) این برنامه یه New folder میسازه بعدش توی یه تکست درست میکنه و تو تکست هم یه متن مینویسه...! :nice:
        وقتی که این کار ها تموم بشه! led که گفتم باید روشن بشه! X_X
        حالا اگه LED رو هم نزدی اشکال نداره! میتونی رم رو در بیاری به کامپیوترت بزنی ببینی فایل درست شده یا نه؟! :redface:
        http://uplod.ir/jf5u4zfro0fl/1SD_File.rar.htm

        دیدگاه


          #5
          پاسخ : SD با LPC1768

          سلام . مرسی از پاسخ تون
          من پروژه دوم ی که گذاشته بودید تست کردم و یه نیو فولدر تو حافظه ایجاد کرد . اما از توابع ش هیچی سر در نیاورد
          نمیدومم چی به چیه . اگه میشه یه خورده توضیح بدین.
          یه سوال دیگه : مشکل برنامه من چیه آخه تو لینک ی که گذاشته بودم برا آموزش ش همه جواب گرفته بودن . مشکل از کجاست؟

          دیدگاه


            #6
            پاسخ : SD با LPC1768

            نوشته اصلی توسط رامین اصیلی
            سلام . مرسی از پاسخ تون
            من پروژه دوم ی که گذاشته بودید تست کردم و یه نیو فولدر تو حافظه ایجاد کرد . اما از توابع ش هیچی سر در نیاورد
            نمیدومم چی به چیه . اگه میشه یه خورده توضیح بدین.
            یه سوال دیگه : مشکل برنامه من چیه آخه تو لینک ی که گذاشته بودم برا آموزش ش همه جواب گرفته بودن . مشکل از کجاست؟
            سلام!
            راستش من نمیدونم حالا واقعا برنامه شما مشکل داشت یا نه!
            حالا برنامه زیر مثل برنامه ای که گذاشتین فقط ویرایشش کردم تا روی برد من بخونه!
            فک کنم اینو بفهمید دیگه!
            http://uplod.ir/u06rucm1a48v/2SD_File.rar.htm

            دیدگاه


              #7
              پاسخ : SD با LPC1768

              سلام . واقعا بابت کمک تون ممنون . ببخشید من چند روزی ه lpc رو شروع کردم برا همین یه خورده مشکل دارم .
              کد جدید رو تست کردم و از نظر فهم و کارکرد عالیییی بود . مرسی .
              من اومدم کتابخونه spi_lpc17xx.c کد خودم و جاگذاری این پروژه جدید شما کردم و تفاوت این دو کتابخونه آینه که از من از پورت 0 برا اتصال sd وصل کرده و این جاگذاری رو کردم کار نکرد . و فهمیدم کار نکردن پروژه م واسه این کتابخونه اس . رفتم spi_lpc17xx.c شما رو به پروژه خودم جاگذاری کردم و ارور میگیره نمیدونم چرا . بعد اومدم همون پروژه ای که پ کردید رو خودم از نو با فایل هاش بسازم و عین خودش ساختم و 6 ارور گرفت . یه کمک کوچیک دیگه بکنید از گیر من رها میشید 😊😊😊
              تشکر.

              دیدگاه


                #8
                پاسخ : SD با LPC1768

                نوشته اصلی توسط رامین اصیلی
                سلام . واقعا بابت کمک تون ممنون . ببخشید من چند روزی ه lpc رو شروع کردم برا همین یه خورده مشکل دارم .
                کد جدید رو تست کردم و از نظر فهم و کارکرد عالیییی بود . مرسی .
                من اومدم کتابخونه spi_lpc17xx.c کد خودم و جاگذاری این پروژه جدید شما کردم و تفاوت این دو کتابخونه آینه که از من از پورت 0 برا اتصال sd وصل کرده و این جاگذاری رو کردم کار نکرد . و فهمیدم کار نکردن پروژه م واسه این کتابخونه اس . رفتم spi_lpc17xx.c شما رو به پروژه خودم جاگذاری کردم و ارور میگیره نمیدونم چرا . بعد اومدم همون پروژه ای که پ کردید رو خودم از نو با فایل هاش بسازم و عین خودش ساختم و 6 ارور گرفت . یه کمک کوچیک دیگه بکنید از گیر من رها میشید 😊😊😊
                تشکر.
                راستش منم خودم پروژه رو ایجاد نکردم! از توی نمونه برنامه های برد برداشتم!
                فک نکنم بیش از این سرم بشه ولی شما ارور ها رو بزارید شاید دوستان بتونن کمکتون کنن!

                دیدگاه


                  #9
                  پاسخ : SD با LPC1768

                  سلام.إ¾!
                  برنامه زیر برای نمایش عکس های BMP روی LCD هست!
                  اینم امتحان کن! جالــــــــبه! :agree:
                  http://www.eca.ir/forum2/index.php?topic=76448.msg779701#msg779701

                  دیدگاه


                    #10
                    پاسخ : SD با LPC1768

                    باز هم ممنون از پاسخ تون.
                    خیلی کمک کردید

                    دیدگاه


                      #11
                      پاسخ : SD با LPC1768

                      سلام.
                      میگم میتونید از spi پورت 0 استفاده کنید
                      ممنون.

                      دیدگاه


                        #12
                        پاسخ : SD با LPC1768

                        آقا من یه مشکل دارم گفتم اینجا بنویسم موضوع جدید باز نکنم بی خودی.
                        من می خوام تو یه کارت uSD داده بنویسم مشکلم اینه که پورت SPI ندارم و دارم با پین های ورود/خروجی کار می کنم. قبلاً بیش از 10 بار کارت حافظه رو کار رو با انواع میکروکنترلرها و کامپایلرها و مدلهای مختلف راه انداختم ولی این دفعه اصلاً نمی شه که نمی شه!
                        از کتابخونه ی FatFs برادر Chan استفاده کردم، هم نسخه هایی که قبلاً جواب گرفته بودم، هم آخرین نسخه ش رو دانلود کردم از سایتش. هم بدون FAT به صورت کیلویی تلاش کردم توش چیزی بنویسم یا بخونم. نشد که نشد.
                        مثلاً با FatFs می خوام یه فایل txt درست کنم و توش یه متن ساده بنویسم. init می کنم، mount، بعد fopen و بعدش هم fwrite طبق معمول. بعد که کارت حافظه رو در میارم می زنم به PC می بینم فایل با اون اسم مد نظر من رو درست کرده، ولی حجمش صفره. هیچی توش نوشته نشده!

                        راستی، کار با کتابخونه FatFs برای خوندن از فایل ها مشکلی نداره. یعنی متن یا داده باینری موجود در فایلی که قبلاً نوشته شده رو به درستی با fread می خونه. اما fwriteش کار نمی کنه لامصب!

                        کسی نظری نداره؟
                        این تابع SPI من:
                        [code=C]
                        unsigned char spi(unsigned char c)
                        {
                        // Transmit data in Master mode
                        unsigned int k , ress=0;
                        for(k=128UL; k; k=k>>1){
                        SCK_Low;

                        if(c & k)
                        MOSI_High;
                        else
                        MOSI_Low;

                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();

                        SCK_High;
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();

                        if(MISO_Pin)
                        ress |= k;

                        }

                        SCK_Low;
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop(); __nop();
                        return (ress);
                        }
                        [/code]

                        اینم یه سری از کارهایی که تو برنامه کردم:
                        [code=C]
                        res = disk_initialize(0);
                        if(res & STA_NOINIT)
                        {
                        LED_OFF;
                        while(res & STA_NOINIT)
                        {
                        LED_ON; delay_ms(20);
                        LED_OFF; delay_ms(200);
                        res = disk_initialize(0);
                        }
                        }
                        SendData("Init OK.\r"
                        res = f_mount(&FatFs, "", 0);
                        if(res==0){
                        SendData("Mount OK.\r"
                        }

                        ReadBytes = 0;
                        res = f_open(&File[1], "TEST.TXT", FA_READ);
                        if(res==0){
                        SendData("Open1 OK.\r"
                        }
                        res = f_read(&File[1], (void *)block, 13, &ReadBytes);
                        if(res==0){
                        SendData("Read OK.\r"
                        }


                        res = f_close(&File[1]);
                        SendData((void *)block, ReadBytes);

                        res = f_open(&File[0], "WRITE.TXT", FA_CREATE_ALWAYS | FA_WRITE);
                        if(res==0){
                        SendData("Open2 OK.\r";
                        }


                        res = f_write(&File[0], (void *)block, 512, &s2);
                        if(res==0){
                        SendData("Write2 OK.\r"
                        }
                        [/code]
                        بیایید با Google آشتی کنیم!

                        دیدگاه


                          #13
                          پاسخ : SD با LPC1768

                          سلام دوست عزیز .
                          والا من تو lpc تازه وارد م و یه برنامه گذاشتم که برا تمام ملت جواب داده
                          به غیر از من . منم مشکل شما رو دارم . لامصب هیچی توش نمینویسه . دارم روانی میشم به قرآن

                          دیدگاه


                            #14
                            پاسخ : SD با LPC1768

                            نوشته اصلی توسط رامین اصیلی
                            سلام دوست عزیز .
                            والا من تو lpc تازه وارد م و یه برنامه گذاشتم که برا تمام ملت جواب داده
                            به غیر از من . منم مشکل شما رو دارم . لامصب هیچی توش نمینویسه . دارم روانی میشم به قرآن
                            مال من با پورت SPI میکروکنترلر درست کار می کرد ها (روی سخت افزارهای دیگه، نه این یکی بردی که دارم)، اما با پین های GPIO که 0 و 1 می کنم کار نمی کنه. منم وقت ندارم یه بردِ دیگه بزنم و مونتاژ کنم.

                            البته حدس می زنم کارت حافظه uSDش هم مشکل دار باشه. امروز یه کارت حافظه کلنگی با یه برد که قدیما باهاش کار می کردم پیدا کردم ببرم تسنش کنم. اگه نتیجه داد فردا میگم.
                            دوستان اگه چیزی می دونید کمک کنید لطفاً...
                            بیایید با Google آشتی کنیم!

                            دیدگاه


                              #15
                              پاسخ : SD با LPC1768

                              پس از روزها تلاش و سر و کله زدن با سخت افزار و نرم افزار، یه روشی جُستم برای نوشتن توی فایل. اول باید فایل رو توی PC روی کارت حافظه به حجم مناسب درست کنید، بعد توی نرم افزار f_open کنیم و بنویسیم. اینجوری همه چی ردیف میشه. هم می خونه، هم می نویسه.
                              امـــــــــــــــــــــــا... اما یه مشکل بزرگ دارم. فقط می تونم 512 بایت بنویسم توی هر فایل. اصلاً هیچی بیشتر نمی نویسه! حتی یک بایت. ولی می تونم 10 تا فایل باز کنم و توی هر کدوم 512 بایت بنویسم.
                              بعد من بیچاره می شم می خوام 100MB داده بنویسم روی کارت که برای هر فایل 0.5KB می کنه به عبارتی حدود 200 هزار تا فایل!!
                              کلاً کسی نظری نداره؟!
                              بیایید با Google آشتی کنیم!

                              دیدگاه

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