اطلاعیه

Collapse
No announcement yet.

مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

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

    مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

    سلام دوستان
    امیدورام حالتون خوب باشه
    من یه برنامه برای راه اندازی کارت حافظه mmc 32mbyte با میکرو کنترلر pic18f458 و کامپایلر c18 نوشتم که کار نمی کنه.تو این برنامه از آی سی 74hc244 برای تطبیق ولتاژ بین میکرو و کارت استفاده کردم و کارت رو هم در ماژول کارت حافظه ای که در فروشگاه eca.irوجود داره گذاشتم.می خوام کارت رو به وضعیت idle ببرم ولی هیچ جوابی نمی گیرم.حتی شکل مو ج هارو هم رو اشسکوپ انداختم.اگر راهنمایی کنیید ممنون میشم.این هم برنامه ی من:

    [code=c]

    #include <p18f458.h>
    #pragma config OSC=HS
    #pragma config DEBUG=OFF
    #pragma config WDT=OFF
    #pragma config BOR=OFF
    #pragma config LVP=OFF
    #pragma config PWRT=ON
    unsigned char writespi(unsigned char);
    void main(void)
    {
    unsigned char ali;
    TRISBbits.TRISB7=0;
    SSPSTAT=0;
    SSPCON1=0X21;
    TRISC=0;
    TRISCbits.TRISC4=1;
    PORTCbits.RC2=1;
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0xFF);
    writespi(0x40);
    writespi(0x00);
    writespi(0x00);
    writespi(0x00);
    writespi(0x00);
    writespi(0x95);
    for(;
    {
    while(SSPSTATbits.BF==0);
    ali=SSPBUF;
    if(ali==0x01)
    {
    break;
    }
    writespi(0XFF);
    PORTBbits.RB7=0;
    }
    PORTBbits.RB7=1;
    while(1);
    }
    unsigned char writespi(unsigned char s)
    {
    SSPBUF=s;
    while(SSPSTATbits.BF==1);
    }

    [/code]

    اضافه شده در تاریخ :
    دوستا ن کسی نظری نداره من می خوام کارت رو ریست کنم و اون را به حالت idle ببرم.اول 10 بار 0xffرو به کارت فرستادم و بعد عدد 0x40رو فرستادم و بعد 4 تا 0x00 رو فرستادم و بعد x95 رو فرستادم و بعد تا زمانی که کارن پیغام 0x01 رو بفرسته مدام بهش مقدار 0xff رو فرستادم.همه این مقادیر رو در حالتی که cs کارت مقدار یک رو داره فرستادم.ولی جوابی دریافت نکردم.کسی نظری نداره؟

    #2
    پاسخ : مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

    شما فقط دارید spi میفرستید ؟؟؟ از هیچ کتابخانه ای برای راه اندازی استفاده نکردی ؟؟؟

    دیدگاه


      #3
      پاسخ : مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

      نوشته اصلی توسط S S
      شما فقط دارید spi میفرستید ؟؟؟ از هیچ کتابخانه ای برای راه اندازی استفاده نکردی ؟؟؟
      بله.فقط از spiاستفاده کردم.من معمولن از کتابخانه برای برنامه نویسی استفاده نمی کنم.

      دیدگاه


        #4
        پاسخ : مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

        من اینجوری کار نکردم و فکرم نکنم بشه ولی میتونی از کتابخانه ff استفاده کنی برای کار با mmc
        آخه میکرو یه کانفیگ اولیه میخواد بعدش دیتا توی کدوم سکتور میخوای بریزی اینو باید مشخص کنی
        همینجوری دیتا بدی به مموری که نمیشه ؟؟؟

        دیدگاه


          #5
          پاسخ : مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

          نوشته اصلی توسط S S
          من اینجوری کار نکردم و فکرم نکنم بشه ولی میتونی از کتابخانه ff استفاده کنی برای کار با mmc
          آخه میکرو یه کانفیگ اولیه میخواد بعدش دیتا توی کدوم سکتور میخوای بریزی اینو باید مشخص کنی
          همینجوری دیتا بدی به مموری که نمیشه ؟؟؟
          فعلن فقط می خوام کارت رو ریست سخت افزاری کنم تا بره به حالت spi.برای همین این کدها رو بهش می فرستم.این کتابخانه ی ff که شما گفتی برای به خود c18 ؟

          دیدگاه


            #6
            پاسخ : مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

            برای همه میکرو کنترلر های میتونی استفاده کنی
            برای avr / arm / pic
            توی سایت یه سرچی بزن در موردش زیاد نوشته

            دیدگاه


              #7
              پاسخ : مشکل در راه اندازی mmc با pic18f458 در کامپایلر c18

              نوشته اصلی توسط MARMARGOON
              سلام دوستان
              امیدورام حالتون خوب باشه
              من یه برنامه برای راه اندازی کارت حافظه mmc 32mbyte با میکرو کنترلر pic18f458 و کامپایلر c18 نوشتم که کار نمی کنه.تو این برنامه از آی سی 74hc244 برای تطبیق ولتاژ بین میکرو و کارت استفاده کردم و کارت رو هم در ماژول کارت حافظه ای که در فروشگاه eca.irوجود داره گذاشتم.می خوام کارت رو به وضعیت idle ببرم ولی هیچ جوابی نمی گیرم.حتی شکل مو ج هارو هم رو اشسکوپ انداختم.اگر راهنمایی کنیید ممنون میشم.این هم برنامه ی من:

              [code=c]

              #include <p18f458.h>
              #pragma config OSC=HS
              #pragma config DEBUG=OFF
              #pragma config WDT=OFF
              #pragma config BOR=OFF
              #pragma config LVP=OFF
              #pragma config PWRT=ON
              unsigned char writespi(unsigned char);
              void main(void)
              {
              unsigned char ali;
              TRISBbits.TRISB7=0;
              SSPSTAT=0;
              SSPCON1=0X21;
              TRISC=0;
              TRISCbits.TRISC4=1;
              PORTCbits.RC2=1;
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0xFF);
              writespi(0x40);
              writespi(0x00);
              writespi(0x00);
              writespi(0x00);
              writespi(0x00);
              writespi(0x95);
              for(;
              {
              while(SSPSTATbits.BF==0);
              ali=SSPBUF;
              if(ali==0x01)
              {
              break;
              }
              writespi(0XFF);
              PORTBbits.RB7=0;
              }
              PORTBbits.RB7=1;
              while(1);
              }
              unsigned char writespi(unsigned char s)
              {
              SSPBUF=s;
              while(SSPSTATbits.BF==1);
              }

              [/code]

              اضافه شده در تاریخ :
              دوستا ن کسی نظری نداره من می خوام کارت رو ریست کنم و اون را به حالت idle ببرم.اول 10 بار 0xffرو به کارت فرستادم و بعد عدد 0x40رو فرستادم و بعد 4 تا 0x00 رو فرستادم و بعد x95 رو فرستادم و بعد تا زمانی که کارن پیغام 0x01 رو بفرسته مدام بهش مقدار 0xff رو فرستادم.همه این مقادیر رو در حالتی که cs کارت مقدار یک رو داره فرستادم.ولی جوابی دریافت نکردم.کسی نظری نداره؟
              سلام
              یرا ریست کارت حافظه( مخالف همه دستورها که csفعاله) پایهcsرو باید حتما غیر فعال کنی....
              اگريك فلج مادر زاد در مسابقه دو ماراتون نفراول نشود مقصر فقط وفقط خودش است...

              دیدگاه

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