اطلاعیه

Collapse
No announcement yet.

راه اندازی TWI برای XMEGA در کدویژن

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

    راه اندازی TWI برای XMEGA در کدویژن

    سلام خدمت دوستان عزیز

    من می خوام توسط میکرو کنترلر ATXMEGA32A4 یک آیسی AT24C24 که یک آیسی EEPROM می باشد ، اطلاعات آنرا مانند ارتباط I2C بخوانم ، یک نکته آنست که XMEGA پروتکل I2C را پشتیبانی نمی کند.

    در HELP کدویژن هم دیدم که برای راه اندازی TWI دو حالت دارد :
    1- master
    2-slave

    و چون من می خواهم اطلاعات را از حافظه خارجی بخوانم باید از حالت SLAVE استفاده کنم

    و دستور زیر را باید استفاده کنم :
    twi_slave_init


    نکته این است که من نمی دانم چگونه باید آدرس بدم و اطلاعات را از حافظه بخوانم در ارتباط TWI
    اگر کسی بتواند کمک کند ممنون می شوم
    خداوندا
    از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
    فراموشش کن
    دکتر علی شریعتی

    #2
    پاسخ : راه اندازی TWI برای XMEGA در کدویژن

    نوشته اصلی توسط avr1083
    یک نکته آنست که XMEGA پروتکل I2C را پشتیبانی نمی کند
    I2C همان TWI است و حداکثر 4 واحد مستقل از این سخت افزار در XMEGA وجود دارد. همچنین برای خواندن اطلاعات از سری AT24Cxx باید میکروکنترلر در مد Master قرار داده شود.
    اوژن: به معنای افکننده و شکست دهنده است
    دانایی، توانایی است-Knowledge is POWER
    برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
    وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
    قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
    اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
    ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

    دیدگاه


      #3
      پاسخ : راه اندازی TWI برای XMEGA در کدویژن

      سلام دوست گرامی

      مشکل من با دستور زیر است که دقیقا نمی دانم به چه صورت باید از آن استفاده کنم .

      twi_master_trans(&twid_master,EEPROM_TWI_BUS_A DDRESS,(unsigned char *) &twi_eeprom,2,&eeprom_rd_data,1

      یعنی :
      1- کجا آدرسی از حافظه که مورد نیاز است را باید بدهم؟
      2- داده که برداشته می شود در کدام متغییر ذخیره می شود؟

      من می خواهم اطلاعات را از خانه 0 تا 17 حافظه بخوانم سپس از خانه 17 تا 34 و به همین ترتیب تا به آخر .
      اگر لطف کنید و راهنمائی کنید ممنون می شوم .
      خداوندا
      از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
      فراموشش کن
      دکتر علی شریعتی

      دیدگاه


        #4
        پاسخ : راه اندازی TWI برای XMEGA در کدویژن

        دوستان لطفا اگر کسی می تواند در این مورد کمک کند چون در این پروژه گرفتار شدم
        :angry:
        خداوندا
        از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
        فراموشش کن
        دکتر علی شریعتی

        دیدگاه


          #5
          پاسخ : راه اندازی TWI برای XMEGA در کدویژن

          نوشته اصلی توسط avr1083
          سلام دوست گرامی

          مشکل من با دستور زیر است که دقیقا نمی دانم به چه صورت باید از آن استفاده کنم .

          twi_master_trans(&twid_master,EEPROM_TWI_BUS_A DDRESS,(unsigned char *) &twi_eeprom,2,&eeprom_rd_data,1

          از طریق این دستور امکان ارسال و دریافت تعداد مشخصی بایت از طریق TWI وجود دارد که جزئیات آن در Help کدویژن توضیح داده شده است و می توانید آن را مطالعه کنید. اما در ارتباط با eeprom سریال روند بخصوصی وجود دارد و ترتیب خاصی از نوشتن و خواندن اطلاعات باید رعایت شود که همیشه با یک مرحله قابل انجام نیست. مثلا برای خواندن از یک آدرس مشخص ابتدا باید آدرس آن بایت در eeprom را به آن write کنیم و بعد در مرحله بعد اطلاعات را بصورت بایت به بایت read کنیم. در همین رابطه به شما پبشنهاد می کنم بحث تاپیک دیگری را که در مورد نوشتن در 24c64 است پیگیری کنید تا با استفاده از اطلاعات ارائه شده در آن بتوانید منظور خود را به انجام برسانید.
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه

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