اطلاعیه

Collapse
No announcement yet.

مشکل آدرس نپذیرفتن میکرو سلیو در ارتباط I2C

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

    مشکل آدرس نپذیرفتن میکرو سلیو در ارتباط I2C

    سلام دوستان ، من تو برنامه زیر میتوانم تبادل اطلاعات کنم ولی حتی اگه ادرس رو در سلیو نا هماهنگ با مستر بزنم بازم دریافت دیتا انجام میشه.
    برنامه مستر ( با زدن کلید A0 یک پالس به ادرس H30 و حاوی عدد 122 برای سلیو فرستاده میشه )
    Config Sda = Portb.1
    Config Scl = Portb.0
    Config I2cdelay = 10
    I2cinit
    Do
    If Pina.0 = 1 Then
    i2cstart
    I2csend &H30 , 122
    end if
    Loop

    برنامه سلیو ( با اینکه ادرسش با ادرس مستر نمی خونه H20 بازم جواب رو به من میده )

    Config Sda = Portb.1
    Config Scl = Portb.0
    Config I2cdelay = 10
    I2cinit

    dim A as byte

    Do
    Bitwait Pinb.0 , Reset
    i2cstart
    I2creceive &H20 , A
    Locate 1 , 1
    Lcd A
    Loop
    +++++++++++++++++++++++++++++++

    توضیحات بیشتر:
    مدار رو بدون کلید بدون bitwait با ادرس های مختلف،با یا بدونه i2cstart و i2cstop به صورت چند سلیوی در مدار و و و... تست کردم بازم جواب درست رو به من میده! به عبارتی وقتی دو تا میکرو سلیو با ادرس متفاوت هم میزارم تو مدار برای هر دو فرستاده میشه!

    سوال دوم! ربطی به موضوع بالا نداره ولی کلا به I2C lمربوطه
    آیا برنامه سلیو خودش بر روی خط i2creceive متوقف میشه تا دیتا رو بگیره بعد بره خط بعد؟ (مثل دستور Input که تا دریافت انجام نشه به خط بعد نمیره ). ایا مجبوریم همیشه از bitwait استفاده کنیم؟ اینتراپتی هم وجود نداره؟

    یه تصوری داشتم اینه که اطلاعات بر روی باس با زدن i2cstart و i2csend توسط مستر اینقدر می چرخه که یا یک سلیو از اون استفاده کنه یا اینکه خود مستر i2cstop رو بفرسته. ایا این تصور اشتباه است؟
    اگر اشتباهه پس به محض ارسال دیتا توسط مستر فورا و بلافاصله سلیو باید بگیره اونو که از دست نره دیگه؟ حتی اجازه 5 میلی ثانیه wait هم نباید داشته باشه ها؟

    سوال بعد.
    i2csend , i2creceive چه فرقیایی با i2crbyte , i2cwbyte دارن.؟
    همچنین دستور i2csend , i2creceive نیاز به i2cstart , stop ندارن درسته؟ چون توی دیباگر پروتوس اگه بازم استارت بزنیم Sr فرستاده میشه (repated start)

    سوال بعد.
    هر کاری میکنم در دیباگر پروتوس دو تا علامت سوال اول هر خطی میاد! ولی ارسال اطلاعات انجام میشه ایا این مرسومه؟

    من ادمی نیستم که زیاد تو فروم پست بزنم، معمولا اینقدر بالا پایین میکنم تو فروم که یکی مثل من مشکل داشته باشه، نشد تو کل نت سرچ میکنم نشد خودم سعی میکنم! ولی واقعا ندیدم این سوالارو اگه ممکنه هر بخشی از سوالمو میتونید جواب بدید ممنون میشم

    اگر کسی نمونه مثال با بسکام در رابطه با i2c داره ممنون میشم بزاره! از این مثال الکیا نه ها کسی مثال شبکه ی از میکرو ها داره ؟

    #2
    پاسخ : مشکل آدرس نپذیرفتن میکرو سلیو در ارتباط I2C

    مهندسین عزیز، کسی نیست به سوال این دوستمون جواب بده؟!
    دقیقا منم همین مشکلو دارم و به هیچ نتیجه حسابی نرسیدم که اومدم اینجا سرچ زدم دیدم این دوستمون هم سوالش بی جوابه!
    کمک کنین

    دیدگاه


      #3
      پاسخ : مشکل آدرس نپذیرفتن میکرو سلیو در ارتباط I2C

      برادر من از c استفاده کن
      من با بسکام جواب گرفتم ولی با استفاده از library های بسکام.هیچی هم یاد نگرفتم
      اگه با c کار کنی برنامش هم تو کتاب avr پرتوی فر موجوده

      دیدگاه

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