ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2016/06/26
    22
    4

    مشکل با پروتکل spi

    سلام من می خوام دوتا میکرو lpc2138 رو با پروتکل spi به هم متصل کنم و مقدار یه متغییر رو انتقال بدم روی میکرو بعدی
    ولی نمی دونم باید چی کار کنم؟
    اگه کسی می تونه یه مثال ساده بگه من متوجه بشم؟

    نقل قول نوشته اصلی توسط Mojtababm66

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام من می خوام دوتا میکرو lpc2138 رو با پروتکل spi به هم متصل کنم و مقدار یه متغییر رو انتقال بدم روی میکرو بعدی
    ولی نمی دونم باید چی کار کنم؟
    اگه کسی می تونه یه مثال ساده بگه من متوجه بشم؟
    یعنی کسی نیست تا حالا با spi میکرو arm کار کرده باشه بتونه یه مثال بهم بگه؟

    با توجه به کمک شایانی که دوستان در این پست انجام دادند من خودم یه سری کد برای را اندازی spi یافتم ولی به نتونستم ازش استفاده کنم
    یعنی اطلاعات می فرسته ولی اون سمت نمی تونم این اطلاعات بخونم
    کد:
    #include<lpc21xx.h> unsigned char spi_rec; void spi_ini(); void spi_tr1(unsigned int x); char spi_re(); void spi_tr(unsigned char cmd,unsigned char data); void spi_str(unsigned char *str); int ar[10]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }; int ar1[8]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08}; void pll(); void delay_ms(unsigned int x); int main() { int i,a,b,c,d,e,f,g,h; a=b=c=d=e=f=g=h=0; PINSEL0=0X00000000; IO0DIR=0XFFFFFFFF; pll(); spi_ini(); spi_tr(0x0a,0xf); spi_tr(0x0b,0xf); for(i=0;i<9;i++) { spi_tr(ar1[i],ar[0]); delay_ms(100); } spi_tr(0x0c,0x01); while(1) { spi_tr(ar1[7],ar[a]); spi_tr(ar1[6],ar[b]); spi_tr(ar1[5],ar[c]); spi_tr(ar1[4],ar[d]); spi_tr(ar1[3],ar[e]); spi_tr(ar1[2],ar[f]); spi_tr(ar1[1],ar[g]); spi_tr(ar1[0],ar[h]); a++; if(a==10) { a=0; b++; } if(b==10) { a=b=0; c++; } if(c==10) { a=b=c=0; d++; } if(d==10) { a=b=c=d=0; e++; } if(e==10) { a=b=c=d=e=0; f++; } if(f==10) { a=b=c=d=e=f=0; g++; } if(g==10) { a=b=c=d=e=f=g=0; h++; } if(h==10) { a=b=c=d=e=f=g=h=0; } delay_ms(3000); } } void pll() { /*PLL IS CONFIGURED TO GET 60HZ pCLK*/ PLLCFG=0X24; // SET PSEL=2 AND MSEL=5 PLLCON=0X01; //PLL IS ACTIVE BUT NOT YET CONNECT PLLFEED=0XAA; //FEED SEQUENCE PLLFEED=0X55; //FEED SEQUENCE while((PLLSTAT & 0X400)==0); //WAIT FOR FEED SEQUENCE TO BE INSERTED PLLCON=0X03; // PLL HAS BEEN ACTIVE AND BEING CONNECTRD VPBDIV=0X00; // SET PCLK SAME AS FCCLK PLLFEED=0XAA; //FEED SEQUENCE PLLFEED=0X55; //FEED SEQUENCE } void spi_ini() { PINSEL0 |=0x1500; /* P0.4, P0.5, P0.6, P0.7 are set as SCK, MISO, MOSI and GPIO */ //IODIR0 |= 0X80; /* SSEL is output */ //IOSET0 |=0X80; /* set SSEL to high */ S0SPCCR=8; /* SPI clock prescale register minimum value is 8. */ S0SPCR=0x0030; /* Device select as master, Set data to 8-bit, CPOL = 0, CPHA = 0*/ } void spi_tr1(unsigned int x) { S0SPDR =x; while ( !(S0SPSR & 0x80) ); /* Wait until the SPIF bit is set to indicate trabsfer complete */ } char spi_re() { while ( !(S0SPSR & 0x80) ); /* Wait until the SPIF bit is set to indicate trabsfer complete */ spi_rec= S0SPDR; return spi_rec; } void spi_str(unsigned char *str) { while(*str!='\0') { spi_tr1(*str); str++; } } void spi_tr(unsigned char cmd,unsigned char data) { IO0CLR=(1<<7); //enable transmission spi_tr1(cmd); spi_tr1(data); IO0SET=(1<<7); // disable transmission } void delay_ms(unsigned int x) { int i; while(x--) { for(i=0;i<100;i++); } }
    واینم شکل مدارشه



    می دونید من می خوام دوتا میکرو رو به هم متصل کنم ولی این برنامه کارش فرستادن چندتا کد به سون سگمنته
    از دوستان اگه کسی می دونه این کدا رو چه جوریا میشه تغییرش داد واسه اتصال دو تا میکرو به هم به من هم یه کمکی برسونه

    مثل اینکه اینجا هیچکس تا حالا با spi میکرو lpc کار نکرده
    ویرایش توسط اشکان غفارزاده : 2016/08/10 در ساعت 18:40
  2. #2
    2016/06/26
    22
    4

    پاسخ : مشکل با پروتکل spi

    خب دوستان ما که مشکلمان حل شد.
    امیدوار بود آدمی به خیر کسان
    مرا به خیرتان امید نیست...
نمایش نتایج: از 1 به 2 از 2

موضوعات مشابه

  1. مشکل در خواندن پروتکل سریال ARINC 542A در کامپیوتر
    توسط 193564 در انجمن برنامه نویسی و اینترفیس
    پاسخ: 1
    آخرين نوشته: 2015/08/19, 22:04
  2. مشکل در ارتباط بیسیم با پروتکل USART
    توسط cortex-m3 در انجمن میکروکنترلرهای AVR
    پاسخ: 26
    آخرين نوشته: 2015/05/05, 14:59
  3. مشکل داده گرفتن از طريق پروتکل spi
    توسط m.valian در انجمن میکروکنترلرهای PIC
    پاسخ: 1
    آخرين نوشته: 2014/08/25, 14:11
  4. مشکل با فرستادن یک عدد در پروتکل UART
    توسط erfan m در انجمن میکروکنترلرهای AVR
    پاسخ: 12
    آخرين نوشته: 2012/02/28, 12:34
  5. مشکل با پروتکل CAN در LPC2368
    توسط mehran_pes2007 در انجمن NXP
    پاسخ: 0
    آخرين نوشته: 2011/08/18, 13:34

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •