دنیای اطلاعات: ارتباط I2C توسط Phillips Semiconductor ساخته شد و سالها بعد اینتل پروتکل SMBus را به عنوان I2C تعریف کرد. I2C بهترین ویژگی های SPI و UART را با هم ترکیب می کند. با استفاده از I2C می توانید چندین Slave به یک Master واحد متصل کنید (مانند SPI) و همچنین می توانید چندین Master را کنترل کنید که یک یا چند Slave را کنترل کنند. این امر درصورتی مفید است که می خواهید بیش از یک میکروکنترلر در پروژه خود استفاده کنید.
مانند ارتباطات UART ، ارتباط I2C نیز فقط از دو سیم برای انتقال داده بین دستگاه ها استفاده می کند:
- SDA (Serial Data) : خطی برای Master و Slave برای ارسال و دریافت داده ها.
- SCL (Serial Clock) : خطی که سیگنال ساعت را حمل می کند.
I2C یک پروتکل ارتباطی سریال است ، بنابراین داده ها نوبتی در امتداد یک سیم (خط SDA) منتقل می شوند.
مانند SPI ، ارتباط I2C نیز همگام است ، بنابراین خروجی بیت ها با نمونه برداری از بیت ها توسط یک سیگنال ساعت مشترک بین Master و Slave هماهنگ می شوند. سیگنال ساعت همیشه توسط Master کنترل می شود.
تغییر آدرس
در برخی مواقع لازم می شود آدرس I2C را تغییر دهیم اما راه تغییر آدرس چگونه است؟
با این دستور العمل ساده می توانید آدرس I2C ماژول LCD های کارکتری ۲۰۰۴ و ۱۶۰۲ را تغییر دهید.
اگر ماژول درایور I2C شما شبیه تصویر باشد باید ۳ جامپر که به رنگ سبز نشان داده ایم را بیابید. معمولا در تنظیمات کارخانه هیچ کدام از جامپر ها متصل نیست در این صورت آدرس دستگاه ۰x27 است.
برای تغییر آدرس، تمام کاری که شما باید انجام دهید لحیم کاری جامپرها می باشد. جهت راحتی هرچه بیشتر از جدول زیر استفاده کنید: