NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 4976 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 3 از 3

موضوع: مشکل با spi میکرو

  1. #1
    مدیر انجمن
    تاریخ عضویت
    Jul 2007
    نام
    امید آزاده
    نوشته ها
    357
    تشکر
    177
    تشکر شده 279 بار در 133 پست

    پیش فرض مشکل با spi میکرو

    سلام به همه دوستان عزیز ...
    من با SPI میکروی 7x256 مشکل دارم ... هر کاری میکنم راه اندازی نمیشه.... فایل برنامه رو پیوست می کنم براتون ... ممنون می شم کمکم کنید ...
    فايل هاي پيوست شده فايل هاي پيوست شده

  2. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  3. #2
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    بهتر بود یه مقدار توضیح میدادید که برنامه قراره چه کاری انجام بده
    توی برنامه ی شما یه سری مشکل وجود داره
    1- نیازی به تعریف کردن یا مقدار دهی رجیستر های مربوط به PIO نیست ، فقط کافیه پایه های مورد نیاز باس رو از حالت خروجی ساقط کنید :
    AT91C_BASE_PIOA->PIO_PDR=((1<<17)|(1<<16)|(1<<18))
    2- برای مقدار دهی رجیستر های sPI از جملات معادل استفاده کنید ، تا بهتر بشه برنامه رو تفکیک کرد :
    //enable SPI clock
    AT91C_BASE_PMC->PMC_PCER = ( 1 << SPI_ID );
    //spi enable and reset
    SAT91C_BASE_SPI0->SPI_CR = AT91C_SPI_SPIEN | AT91C_SPI_SWRST;
    //SPI Mode Register: Fault detection disable, variable periph. chip select
    AT91C_BASE_SPI0->SPI_MR = AT91C_SPI_MSTR | AT91C_SPI_MODFDIS | AT91C_SPI_PS;
    //enable SPI
    AT91C_BASE_SPI0->SPI_CR = AT91C_SPI_SPIEN; //check this!
    3-برای دریافت یا ارسال داده از یک متغیر استفاده کنید :
    while( !( AT91C_BASE_SPI0->SPI_SR & AT91C_SPI_TDRE ) );
    AT91C_BASE_SPI0->SPI_TDR = DATA;

    while( !( AT91C_BASE_SPI0->SPI_SR & AT91C_SPI_RDRF ) );
    receivedData = (AT91C_BASE_SPI0->SPI_RDR );

    return(receivedData);
    اگه داده ی شما بیشتر از 8 بیت باشه باید اون رو شیفت بدید .
    توضیحات بیشتر رو میتونید در مجله ی PMN8 ویرایش دوم مشاهده کنید .

  4. #3
    مدیر انجمن
    تاریخ عضویت
    Jul 2007
    نام
    امید آزاده
    نوشته ها
    357
    تشکر
    177
    تشکر شده 279 بار در 133 پست

    پیش فرض در مورد spi

    سلام دوست عزیز ... ممنونم از راهنمایی .... راستشو بخوای یه آی سی خیلی جالب پیدا کردم به شماره dm132 این ای سی 16 کانال خروجی با امکانات pwm و io معمولی داره . بدرد خیلی کارا می خوره ، مثلا نورپردازی و ....... حالا اگه راه افتاد میزارمش واسه همه....

  5. تشکرها از این نوشته :


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

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