اطلاعیه

Collapse
No announcement yet.

کمک در راه اندازی ارتباط spi بین چند slave در آردوینو

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

    کمک در راه اندازی ارتباط spi بین چند slave در آردوینو

    سلام دوستان
    داشتم با ماژول کارت حافظه کار میکردم و برام سوال شد اگر بخوام چندتا SLAVE به میکرو وصل کنم برنامه نویسیش چجوری میشه؟
    من اول میام SD.begin(10) رو تو void loop مینویسم و شروع میکنم برنامه مربوط به SD رو مینویسم
    حالا اگر بخوام یه ماژول +NRF24L01 هم به برنامه اضافه کنم چجور باید ارتباط SD رو قطع کنم و این ارتباط رو جایگزین کنم؟

    #2
    پاسخ : کمک در راه اندازی ارتباط spi بین چند slave در آردوینو

    دیدم کسی جواب نداد خودم دست به کار شدم
    تا قبل فراخوانی SD,begin پایه CS یه پایه آزاد میکرو هست و دوست داره ولتاژ 1.7 بده
    بعد از فراخوانی SD.begin پایه CS مقدار High میشه پس یعنی ماژول کارت حافظه میره تو حالت بلاک دیتا
    بعد هر وقت از نیاز باشه میکرو اطلاعات تبادل کنه cs رو low قرار میده
    من فکر میکردم از وقتی SD.begin فراخوانی میکنیم کلا CS در حالت low قرار میگیره حتی وقتی تبادل نداریم!
    ولی گویا کسی که کتابخونه نوشته فکر همه جا رو کرده!
    پس بدون هیچ ترسی میایم بعد ارتباط SD یه ارتباط SPI دیگه باز میکنیم و خیالمون جمع هست که تداخل ندارن! به همین سادگی به همین خوشمزگی!
    اگر هم جایی دیدبن تو ارتباط چندتا ماژول SPI به مشکل خوردین
    1-اول سیم بندی رو چک کنید.
    2-ببینید ماژول به صورت تک درست عمل میکنه یا نه؟
    اگر درست عمل نکرد که عیب از جای دیگست
    ولی اگر در حالت تکی درست عمل کرد باید بیایید تو کتابخونه یکم کد رو دستکاری کنید.یعنی هر وقت نیاز به تبادل دیتا هست cs رو low کنه و در باقی حالت ها High باشه(که این حالت به ندرت پیش بیاد مگر اینکه کتابخونت غیر اصولی باشه!)

    دیدگاه


      #3
      پاسخ : کمک در راه اندازی ارتباط spi بین چند slave در آردوینو

      سلام وقت بخیر
      من این مشکل مواجه شدم
      یه دونه ماژول RFID دارم به همراه یدونه شیلد دیتالاگر ، شیلد قسمت SD با SPI کار میکنه و ماژول کارت هم همینطور ، هر دو به تنهایی درست کار میکنن ولی باهم نه ، توی سایت های دیگه نوشته بودن که باید پایهای chip select رو متفاوت انتخاب کنی منم اینکارو کردم ولی نتیجه نداشت ، اگر ممکنه بیشتر راهنمایی کنید .
      یه سوال دیگه من توی پروژه م دارم از 2 تا ماژول دیگه که هردو ارتباط I2C دارن استفاده میکنم برای اینکه اونا تداخل نکنن چه کنم؟؟؟؟

      دیدگاه

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