اطلاعیه

Collapse
No announcement yet.

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

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

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

    الان پس چرا این برنامه واسه نوشتن مشکل داره؟
    کد:
    #include <mega32.h>
    #include <delay.h>
    #include <stdio.h>
    #include <io.h>
    #include "SD_Driver/mmc.c"
    #include "SD_Driver/pff.c"
    
    #define xtal 2000000
    BYTE writeBuffer[512]="ABCdef";
    BYTE readBuffer[512];
    void main(void)
    {
    int b=1;
    // USART initialization
    // Communication Parameters: 8 Data, 1 Stop, No Parity
    // USART Receiver: On
    // USART Transmitter: On
    // USART Mode: Asynchronous
    // USART Baud Rate: 9600
    UCSRA=0x00;
    UCSRB=0x18;
    UCSRC=0x86;
    UBRRH=0x00;
    UBRRL=0x0C;
    
    printf("Read Micro SD\n");
    delay_ms(2000);
    printf("Init Drive\n");
    while(disk_initialize()!=FR_OK);
    printf("-->ok\n");
    //////////////////////////////////////////////////////////////////////////////////
    delay_ms(100);
    disk_writep(0, 1);
    disk_writep(writeBuffer, 1);
    disk_writep(0, 0); 
    
    delay_ms(1000);
    disk_readp (readBuffer,1,0,5);
    delay_ms(100);
    puts(readBuffer);
    //////////////////////////////////////////////////////////////////////////////////
    
    while (1)
       {
       }
    }

    دیدگاه


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

      باسلام...
      یک سوال داشتم... میخواستم ببینم امکان خواندن از یک مموری توسط دو میکرو هم وجود دارد؟؟
      باتشکر
      نکته اخلاقي :
      همه چيز و همه کس را دوست داشته باش اما به هيچ چيز و هيچ کس دل مبند

      دیدگاه


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

        الان پس چرا این برنامه واسه نوشتن مشکل داره؟
        متاسفانه امکان تست ندارم :NO:

        یک نکته را باید رعایت کنی:
        بافر هایی که به توابع معرفی می کنید باید از جنس اشاره گر باشه (به مثالهایی که زدم توجه کن)

        یک سوال داشتم... میخواستم ببینم امکان خواندن از یک مموری توسط دو میکرو هم وجود دارد؟؟
        کاری بسی سخت و دشوار است :biggrin:
        اصولی نیست :NO:
        امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

        دیدگاه


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

          نوشته اصلی توسط Abbas Sarami
          متاسفانه امکان تست ندارم :NO:

          یک نکته را باید رعایت کنی:
          بافر هایی که به توابع معرفی می کنید باید از جنس اشاره گر باشه (به مثالهایی که زدم توجه کن)
          :NO:
          خوب باشه تست نکنید فقط بگید ایراد این چیه:
          کد:
          BYTE writeBuffer[512]="ABCdef";
          BYTE readBuffer[512];
          
          disk_writep(0, 1);
          disk_writep(writeBuffer, 1);
          disk_writep(0, 0); 
          
          disk_readp (readBuffer,1,0,5);
          واسه تعریف بافر وقتی قبل از بافر * میذارم توی دستور نوشتن و خوندن ارور میده.
          البته فکر کنم فقط نوشتنش مشکل داره الان.

          دیدگاه


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

            فکر کنم مشکل شما مربوط به فایل mmc.c هست
            جناب مهندس اسدی اون را اصلاح کرده اند POLESTAR pff Library Files
            فایل mmc.c را جایگزین فایل موجود در پروژتون کنید

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

            دیدگاه


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

              نوشته اصلی توسط Abbas Sarami
              فکر کنم مشکل شما مربوط به فایل mmc.c هست
              جناب مهندس اسدی اون را اصلاح کرده اند POLESTAR pff Library Files
              فایل mmc.c را جایگزین فایل موجود در پروژتون کنید

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

              دیدگاه


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

                پروژه را دانلود کن ، تست کن
                MMC SD2.rar - 181 KB

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

                دیدگاه


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

                  نوشته اصلی توسط Abbas Sarami
                  پروژه را دانلود کن ، تست کن
                  MMC SD2.rar - 181 KB

                  موفق باشید
                  آقا دمت گرم کار کرد. یک دنیا ممنونم چند ماهه من گیر این میکرو اس دی بودم :wow:
                  فقط ممکنه یه توضیح مختصری راجع به (BYTE*)&buffer بدید. من تو هیچ کدوم از کتابا ندیدم همچین چیزی. اون BYTE* نقشش چیه مگه BYTE مثل char, int,... نوع متغیر نیست که اول برنامه باید تعیین بشه و * هم از نوع اشاره گر تعریفش کنه؟ پس چرا داخل تابع نوشته شده؟

                  دیدگاه


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

                    یه سوال دیگه.
                    من از داخل mmc.c پایه CS رو به PORTD.3 تغییر دادم. تو پروتئوس جواب میده ولی در عمل نه. برای تغییر CS باید چیکار کنم.

                    دیدگاه


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

                      نوشته اصلی توسط redown
                      فقط ممکنه یه توضیح مختصری راجع به (BYTE*)&buffer بدید. من تو هیچ کدوم از کتابا ندیدم همچین چیزی. اون BYTE* نقشش چیه مگه BYTE مثل char, int,... نوع متغیر نیست که اول برنامه باید تعیین بشه و * هم از نوع اشاره گر تعریفش کنه؟ پس چرا داخل تابع نوشته شده؟
                      این سوال را باید توی تاپیک های مربوط به زبان C مطرح کنید ولی یک توضیح مختصر میدهم:
                      ورودی تابع pointer هست (علامت * بیانگر همین موضوعه) ، پس شما باید آدرس متغیر را برای اشاره گر مشخص کنید که با & این کار را انجام دادیم
                      در ضمن نوع اشاره گر را باید مشخص کنید که عبارت (*BYTE) برای همین منظور نوشته شده


                      نوشته اصلی توسط redown
                      من از داخل mmc.c پایه CS رو به PORTD.3 تغییر دادم. تو پروتئوس جواب میده ولی در عمل نه. برای تغییر CS باید چیکار کنم.
                      اگه توی پروتئوس کار کرده پس مشکل نرم افزار نداری ، مشکل شما سخت افزاری هست .

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

                      دیدگاه


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

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

                        اگه توی پروتئوس کار کرده پس مشکل نرم افزار نداری ، مشکل شما سخت افزاری هست .

                        موفق باشید
                        نه آخه من قبلا هم یه برنامه ای داشتم که با یه کتابخونه ی دیگه نوشته شده بود تو پروتئوس کار میکرد ولی در عمل نه. تا اینکه برنامه شما تو جفتش کار کرد. حالا هم CS رو تغییر میدم کار نمیکنه دوباره بر میگردونم رو PORTB.4 کار میکنه. PORTC.1 هم گذاشتم نشد. سخت افزارم بردبورده هزار بار امتحان کردم مطمئنم درست وصل شده.
                        این قسمت از mmc.c رو تغییر دادم:
                        کد:
                        #define SD_CS_DDR    DDRC
                        #define SD_CS_PRT    PORTC
                        #define SD_CS_BIT    1
                        تو Init گیر میکنه.

                        دیدگاه


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

                          با سلام مجدد.
                          این قسمت AVR اون قدر شلوغه که این سوال من به قعر جدول سقوط کرد و از صفحه خارج شد. مجبور شدم دوباره پست بزنم تا بیاد بالا.
                          کسی تا به حال پایه CS رو برای کار با کتابخانه ی pff یا ff تغییر داده که در عمل جواب گرفته باشه؟ چطور تغییرش دادید؟

                          دیدگاه


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

                            خوب ظاهرا اینجا همه بچه های خوبی هستن از همون پایه ای که واسه CS تعریف شده استفاده میکنن. :icon_razz:
                            منم مجبورم بوردمو از اول طراحی کنم.
                            یه سوال دیگه lf33 واسه راه اندازی هم مموری و هم میکرو کم نمیاره؟ از خیلی از قسمتای میکرو قراره استفاده بشه. ADC و پورت سریال و موازی و تایمر و ... . تو بورد فعلی یه مقاومت یک کیلو با تغذیه میکرو سری کردم که 4 ولت رو رسوندتش به حدود 3.3

                            دیدگاه


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

                              نوشته اصلی توسط redown
                              ...حالا هم CS رو تغییر میدم کار نمیکنه دوباره بر میگردونم رو PORTB.4 کار میکنه. PORTC.1 هم گذاشتم نشد. سخت افزارم بردبورده هزار بار امتحان کردم مطمئنم درست وصل شده.
                              این قسمت از mmc.c رو تغییر دادم:
                              کد:
                              #define SD_CS_DDR    DDRC
                              #define SD_CS_PRT    PORTC
                              #define SD_CS_BIT    1
                              تو Init گیر میکنه.
                              نوشته اصلی توسط redown
                              خوب ظاهرا اینجا همه بچه های خوبی هستن از همون پایه ای که واسه CS تعریف شده استفاده میکنن. :icon_razz:
                              این که جواب شما را نمیدیم دلیلش این نیست که پاسخ را نمیدونیم
                              اگه توی پروتئوس جواب گرفتی فیوزبیت Jtag را غیر فعال کن :arrow:
                              اون قسمت کد را هم درست تغییر دادید احتیاج به کار دیگه ای نیست
                              یه سوال دیگه lf33 واسه راه اندازی هم مموری و هم میکرو کم نمیاره؟
                              خیر، رگولاتور LF33 گزینه ی خوبی هست
                              تو بورد فعلی یه مقاومت یک کیلو با تغذیه میکرو سری کردم که 4 ولت رو رسوندتش به حدود 3.3
                              کاری بسیار اشتباه و غیر اصولی و غیر علمی و ... است

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

                              دیدگاه


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

                                نوشته اصلی توسط redown
                                خوب ظاهرا اینجا همه بچه های خوبی هستن از همون پایه ای که واسه CS تعریف شده استفاده میکنن. :icon_razz:
                                منم مجبورم بوردمو از اول طراحی کنم.
                                یه سوال دیگه lf33 واسه راه اندازی هم مموری و هم میکرو کم نمیاره؟ از خیلی از قسمتای میکرو قراره استفاده بشه. ADC و پورت سریال و موازی و تایمر و ... . تو بورد فعلی یه مقاومت یک کیلو با تغذیه میکرو سری کردم که 4 ولت رو رسوندتش به حدود 3.3
                                شمام سکتوری مینویسین؟ هنوز تو اینیت گیر میکنه؟

                                بجای مقاومت یه دیود بذارین. بهتره و مطمئن تر.
                                کمترین توقع از یک فرد تحصیلکرده، دانستن املای صحیح کلمات است.

                                دیدگاه

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