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

  • شروع کننده موضوع
  • #1
ارسال‌ها
3,981
امتیاز
32,624
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
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 موردنظر ادامه دارد.


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



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

fzgm

کاربر فوق‌حرفه‌ای
ارسال‌ها
782
امتیاز
82
نام مرکز سمپاد
فرزانگان 1 تهران
شهر
تهران
مدال المپیاد
ریاضی،کامپیوتر(کوتاه)،ادبیات،شیمی(تنوع؟!)
دانشگاه
دانشگاه تهران
رشته دانشگاه
علوم مهندسی
پاسخ : ارتباط با رابط i2c

بابت مطلبتون متشکرم،اگه فرصت پیدا کردید توضیح بیشتری میدهید؟!
 
  • شروع کننده موضوع
  • #3
ارسال‌ها
3,981
امتیاز
32,624
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : ارتباط با رابط i2c

:D
ان شاءالله بله!
یه مطلب پیدا کردم که میخونم اگه خوب بود میذارم!
 

mhmmdshirazi

کاربر فوق‌حرفه‌ای
ارسال‌ها
840
امتیاز
2,453
نام مرکز سمپاد
شهید Helli
شهر
tehran
سال فارغ التحصیلی
1390
مدال المپیاد
:دی خواب موندم!!
دانشگاه
دانشگاه امیر کبیر
رشته دانشگاه
مهندسی مکاترونیک
تلگرام
اینستاگرام
پاسخ : ارتباط با رابط i2c

البته این مطالب خیلی کامل تر تو help خود codevision هست.:d
 
  • شروع کننده موضوع
  • #5
ارسال‌ها
3,981
امتیاز
32,624
نام مرکز سمپاد
فرزانگان امین
شهر
اصفهان
سال فارغ التحصیلی
1390
پاسخ : ارتباط با رابط i2c

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

hasangolab

کاربر حرفه‌ای
ارسال‌ها
438
امتیاز
133
شهر
قم
مدال المپیاد
ترکیبیات علیپور خوندم!
دانشگاه
Massachusetts Institute of Technology
رشته دانشگاه
Electrical Engineering
پاسخ : ارتباط با رابط i2c

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

mohamad

کاربر فعال
ارسال‌ها
64
امتیاز
-7
نام مرکز سمپاد
No Sampad.
شهر
isfahan
پاسخ : ارتباط با رابط i2c

سلام.
یه برنامه کامپس یکی بذاره..
 

aghasina

کاربر فوق‌حرفه‌ای
ارسال‌ها
714
امتیاز
28
نام مرکز سمپاد
Qom Nodet
شهر
قم
پاسخ : ارتباط با رابط i2c

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

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

bigest

کاربر نیمه‌فعال
ارسال‌ها
6
امتیاز
5
نام مرکز سمپاد
اژه ای دو
شهر
اصفهان
پاسخ : ارتباط با رابط i2c

مطلبت خیلی به کارم اومد ممنون
 

bigest

کاربر نیمه‌فعال
ارسال‌ها
6
امتیاز
5
نام مرکز سمپاد
اژه ای دو
شهر
اصفهان
پاسخ : ارتباط با رابط i2c

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

soheilsa

کاربر فعال
ارسال‌ها
34
امتیاز
13
نام مرکز سمپاد
...
پاسخ : ارتباط با رابط i2c

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