اطلاعیه

Collapse
No announcement yet.

اشکال و سوال در تنظیم SPI

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

    اشکال و سوال در تنظیم SPI

    سلام
    برای samx256 تنظیمات spi رو انجام دادم
    ولی نمی دونم رجیستر
    کد:
     AT91C_BASE_SPI0->SPI_CSR[0]
    رو چطور تنظیم کنم


    کدی که برای تنظیم spi نوشتم اینه :
    کد:
     AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_SPI0); 
    
     AT91C_BASE_PIOA->PIO_PDR = (AT91C_PA16_SPI0_MISO | AT91C_PA17_SPI0_MOSI | AT91C_PA18_SPI0_SPCK);
     AT91C_BASE_PIOA->PIO_ASR = (AT91C_PA16_SPI0_MISO | AT91C_PA17_SPI0_MOSI | AT91C_PA18_SPI0_SPCK);
    	
     //AT91C_BASE_PIOA->PIO_PER = AT91C_PA12_SPI0_NPCS0; // enable PIO of CS-pin
     //AT91C_BASE_PIOA->PIO_SODR = AT91C_PA12_SPI0_NPCS0; // set
     //AT91C_BASE_PIOA->PIO_OER = AT91C_PA12_SPI0_NPCS0; // output
    
     // SPI reset
     AT91C_BASE_SPI0->SPI_CR = AT91C_SPI_SWRST;
    
     // SPI mode: master, fixed periph. sel., FDIV=0, fault detection disabled
     AT91C_BASE_SPI0->SPI_MR = AT91C_SPI_MSTR | AT91C_SPI_PS_FIXED | AT91C_SPI_MODFDIS;
    
     //select cs0
     AT91C_BASE_SPI0->SPI_CSR[0]=AT91C_SPI_CPOL | AT91C_SPI_NCPHA | AT91C_SPI_BITS_8 | AT91C_SPI_SCBR | AT91C_SPI_DLYBS | AT91C_SPI_DLYBCT;
    	
     // SPI Enable
     AT91C_BASE_SPI0->SPI_CR = AT91C_SPI_SPIEN;

    یه توضیح هم استفاده کنم
    از پایه های a16 تا a18 برای spi دارم استفاده می کنم و از پایه a12 هم به عنوان CS می خوام استفاده کنم

    #2
    پاسخ : اشکال و سوال در تنظیم SPI

    برای نوشتن از دستور

    کد:
     while (!(AT91C_BASE_SPI0->SPI_SR&0x2));
     AT91C_BASE_SPI0->SPI_TDR = DATA;
    و برای خوندن از دستور

    کد:
     while (!(AT91C_BASE_SPI0->SPI_SR&0x1));
    	R1=AT91C_BASE_SPI0->SPI_RDR;
    استفاده می کنم
    ولی اطلاعات درست ارسال و دریافت نمیشه
    لوپ داخلی رو فعال کردم اطلاعات رو درست مینویسه و میخونه

    دیدگاه


      #3
      پاسخ : اشکال و سوال در تنظیم SPI

      spi رو چطور تنظیم کنم که این زمانبندی رو رعایت کنه؟



      هر کاری می کنم در خوندن و نوشتن با خطا کار میکنه و در بیش از 50 درصد خوندن و نوشتن خطا داره
      این مربوط به w5100 هستش

      دیدگاه


        #4
        پاسخ : اشکال و سوال در تنظیم SPI

        چرا از توابع آماده استفاده نمیکنی؟

        دیدگاه


          #5
          پاسخ : اشکال و سوال در تنظیم SPI

          نوشته اصلی توسط gbg
          سلام
          برای samx256 تنظیمات spi رو انجام دادم
          ولی نمی دونم رجیستر
          کد:
           AT91C_BASE_SPI0->SPI_CSR[0]
          رو چطور تنظیم کنم


          کدی که برای تنظیم spi نوشتم اینه :
          کد:
           AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_SPI0); 
          
           AT91C_BASE_PIOA->PIO_PDR = (AT91C_PA16_SPI0_MISO | AT91C_PA17_SPI0_MOSI | AT91C_PA18_SPI0_SPCK);
           AT91C_BASE_PIOA->PIO_ASR = (AT91C_PA16_SPI0_MISO | AT91C_PA17_SPI0_MOSI | AT91C_PA18_SPI0_SPCK);
          	
           //AT91C_BASE_PIOA->PIO_PER = AT91C_PA12_SPI0_NPCS0; // enable PIO of CS-pin
           //AT91C_BASE_PIOA->PIO_SODR = AT91C_PA12_SPI0_NPCS0; // set
           //AT91C_BASE_PIOA->PIO_OER = AT91C_PA12_SPI0_NPCS0; // output
          
           // SPI reset
           AT91C_BASE_SPI0->SPI_CR = AT91C_SPI_SWRST;
          
           // SPI mode: master, fixed periph. sel., FDIV=0, fault detection disabled
           AT91C_BASE_SPI0->SPI_MR = AT91C_SPI_MSTR | AT91C_SPI_PS_FIXED | AT91C_SPI_MODFDIS;
          
           //select cs0
           AT91C_BASE_SPI0->SPI_CSR[0]=AT91C_SPI_CPOL | AT91C_SPI_NCPHA | AT91C_SPI_BITS_8 | AT91C_SPI_SCBR | AT91C_SPI_DLYBS | AT91C_SPI_DLYBCT;
          	
           // SPI Enable
           AT91C_BASE_SPI0->SPI_CR = AT91C_SPI_SPIEN;

          یه توضیح هم استفاده کنم
          از پایه های a16 تا a18 برای spi دارم استفاده می کنم و از پایه a12 هم به عنوان CS می خوام استفاده کنم
          سلام
          شاید ربطی به این داشته باشه که پایه ی NPCS0 رو برای استفاده ی دستگاه جانبی فعال نکردید؟در ضمن آیا با اسکوپ وجود سیگنال رو رو پایه ها تست کردید؟

          دیدگاه


            #6
            پاسخ : اشکال و سوال در تنظیم SPI

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

            دیدگاه


              #7
              پاسخ : اشکال و سوال در تنظیم SPI

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

              دیدگاه


                #8
                پاسخ : اشکال و سوال در تنظیم SPI

                تقریبا 6 ماه ازش گذشته و دقیق خاطرم نیست
                ولی چیز مهمی که یادم مونده این بود که من دستگاه رو باسیم وصل کرده بودم که حدود 10 سانت بود که این طول خیلی تاثیر گداشته بود روی کارم

                دیدگاه


                  #9
                  پاسخ : اشکال و سوال در تنظیم SPI

                  نوشته اصلی توسط gbg
                  تقریبا 6 ماه ازش گذشته و دقیق خاطرم نیست
                  ولی چیز مهمی که یادم مونده این بود که من دستگاه رو باسیم وصل کرده بودم که حدود 10 سانت بود که این طول خیلی تاثیر گداشته بود روی کارم
                  پس تنظمیاتتون درست بود؟براتون امکان داره نمونه ی کدتون رو بذارید؟و اینکه از چه ورژنی از iarاستفاده می کنید؟ممنون از لطفتون.

                  دیدگاه


                    #10
                    پاسخ : اشکال و سوال در تنظیم SPI

                    من با کیل نوشتم ولی یادمم نیست اون کد درست بود یا نبود

                    دیدگاه

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