ارتباط با رابط i2c

  • شروع کننده موضوع شروع کننده موضوع مهسـا
  • تاریخ شروع تاریخ شروع
ارسال‌ها
3,981
امتیاز
32,746
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
ارتباط با رابط I2C:
حوصله ندارم کل i2c رو توضیح بدم! فقط دستورات برنامه نویسیشو برای ارتباط و تنظیمات ویزاردشو توضیح میدم:
هر device یک آدرس منحصر به فرد و مخصوص به خودش داره. آدرس i2c هفت بیتیه.
برای ارتباط بارابط i2c دوتا ماژول SCL و SDA هست که باید تو ویزارد تعیین کنیم که کدوم پین میکرو، معادل SCL و کدوم پین معادل SDA هست:
6533f6b9d3a9758ae43f1e49451becf4.JPG

1) برای اعلام انتقال داده جدید به master از دستور زیر استفاده میکند:
i2c_start();
2) آدرس device مورد نظر را صدا می زند و اعلام می کند که می خواهد از آن deviceبخواند یا در آن بنویسد. یعنی آدرس آن device را با 0 (برای نوشتن) یا 1 (برای خواندن) or می کند:
i2c_write(آدرس|(بیت خواندن یا نوشتن
3) اگر ثبات مشخصی از آدرس device، موردنظر است، دوباره آدرس آن را می فرستد:
I2c_write(شماره ثبات هدف)
4) اگر قرار است داده در ثبات نوشته شود، به ارسال داده ادامه می دهدولی اگر قرار است داده از ثبات خوانده شود باید یک ارتباط خواندن جدید برقرار شود.از مرحله 1 شروع می شود.
مثال می زنم:
1) می خواهیم داده ‘150’را در ثبات 3 از حافظه ای که آدرس آن C0 است، نوشته شود:
i2c_start(); //اعلام انتقال داده جدید
i2c_write((C0)|0); //ارسال آدرس
i2c_write(3); //ارسال آدرس ثبات موردنظر
i2c_write(150); //نوشتن داده در ثبات موردنظر
i2c_stop(); //پایان ارتباط

2) میخواهیم عدد داخل ثبات 3 از حافظه ای که آدرس آن C0 است، خوانده شود:
i2c_start(); //اعلام انتقال داده جدید
i2c_write((C0)|0); //ارسال آدرس
i2c_write(3); //ارسال آدرس ثبات موردنظر
i2c_start(); //اعلام انتقال داده جدید
i2c_write((C0)|1); //ارسال آدرس
x= i2c_read(0); // خواندن از ثبات مورد نظر
i2c_stop(); //پایان ارتباط


درمورد تابع i2c_read() آرگومان ورودی اگر 0 باشد، یعنی خواندن از device موردنظر ادامه ندارد و اگر 1 باشد، یعنی خواندن از device موردنظر ادامه دارد.


:دی
بچه ها ببخشید که کدها جابجا شدن و اینا!خودتون شکل درستشو میدونین دیگه!



اینو هم حتما ببینین.یه پرزنتیشنه درمورد رابط I2c که مطالب خوبی داره:
een.iust.ac.ir/profs/Shahri/Computer%20Buses_84/I2C%20BUS.ppt
 
پاسخ : ارتباط با رابط i2c

بابت مطلبتون متشکرم،اگه فرصت پیدا کردید توضیح بیشتری میدهید؟!
 
پاسخ : ارتباط با رابط i2c

البته این مطالب خیلی کامل تر تو help خود codevision هست.:d
 
پاسخ : ارتباط با رابط i2c

آقای شیرازی شما لطف کنین و بذارین مطلب کاملتر.من فقط میخوام هرچیزی مطرح بشه .من بیکار نیستم که بشینم مقاله ترجمه کنم بذارم.
 
پاسخ : ارتباط با رابط i2c

اگه خواستید برنامه کار با CMPS03 و SRF08 رو براتون بذارم؟
 
پاسخ : ارتباط با رابط i2c

سلام.
یه برنامه کامپس یکی بذاره..
 
پاسخ : ارتباط با رابط i2c

به نقل از mohamad :
سلام.
یه برنامه کامپس یکی بذاره..

توی فروم خودتون(متارو) یکی گذاشته بود یادمه. بگردید پیدا میکنید.....
 
پاسخ : ارتباط با رابط i2c

مطلبت خیلی به کارم اومد ممنون
 
پاسخ : ارتباط با رابط i2c

کسی اگه مشکلی با i2c از نظر یادگیری داره من از نظر اطلاعات تا جایی که میتونم در خدمتم فقط ایمیل بزنید
 
پاسخ : ارتباط با رابط i2c

سلام من کامپس 03 قدیمی که 4 تا ای سی داره ذو میتونم راه بندازم ولی جدید ها رو نمی تونم کسی میدونه این ها چه جور باید راه انداخت ممنون میشم کمکم کنید
 
Back
بالا