- I2C مواصلات پروٹوکول کیا ہے؟
- I2C مواصلت کیسے کام کرتی ہے؟
- I2C مواصلات کہاں استعمال کریں؟
- ICC XC8 کمپلر کا استعمال کرتے ہوئے PIC16F877a کے ساتھ
- I2C ہیڈر فائلوں کا استعمال کرتے ہوئے پروگرامنگ:
- پروٹیوس تخروپن:
پی آئی سی مائکروکونٹرولرز ایمبیڈڈ منصوبوں کے لئے مائیکرو چیپ کے ذریعہ فراہم کردہ ایک طاقتور پلیٹ فارم ہیں ، اس کی ورسٹائل نوعیت نے اسے بہت سے ایپلی کیشنز کے راستے ڈھونڈنے کے لئے بنایا ہے اور ابھی بھی مرحلہ جاری ہے۔ اگر آپ ہمارے پی آئی سی ٹیوٹوریلز پر عمل پیرا ہوتے ہیں تو آپ نے محسوس کیا ہوگا کہ ہم نے پی آئی سی مائکروقابو کنٹرولر پر بہت سارے ٹیوٹوریلز کا احاطہ پہلے ہی کیا ہے۔ اب سے ، ہم نے بنیادی باتوں کا احاطہ کیا ہے کہ ہم مواصلاتی پورٹل جیسے مزید دلچسپ سامان میں جاسکتے ہیں۔
ایمبیڈڈ ایپلی کیشنز کے وسیع نظام میں ، کوئی مائکروکنٹرولر خود ہی تمام سرگرمیاں انجام نہیں دے سکتا ہے۔ معلومات کے اشتراک کے ل time کسی دوسرے مرحلے میں اسے دوسرے آلات سے بات چیت کرنا پڑتی ہے ، ان معلومات کو اشتراک کرنے کے لئے بہت ساری قسم کے مواصلات کے پروٹوکول موجود ہیں ، لیکن سب سے زیادہ استعمال ہونے والے حصے یو ایس اے آر ٹی ، آئی سی ، ایس پی آئی اور سی اے این ہیں ۔ ہر مواصلاتی پروٹوکول کا اپنا فائدہ اور نقصان ہوتا ہے۔ آئیے آئی سی کے حص now ے پر ابھی توجہ مرکوز کریں کیونکہ یہی سبق ہم اس ٹیوٹوریل میں سیکھ رہے ہیں۔
I2C مواصلات پروٹوکول کیا ہے؟
IIC اصطلاح کا مطلب ہے " انٹر انٹیگریٹڈ سرکٹس "۔ عام طور پر اس کو I2C یا I مربع C یا کچھ جگہوں پر 2-تار انٹرفیس پروٹوکول (TWI) بھی کہا جاتا ہے لیکن اس کا مطلب ایک ہی ہے۔ I2C ایک ہم وقت ساز مواصلات کا پروٹوکول ہے جس کا معنی ہے ، وہ دونوں ڈیوائس جو معلومات کو شیئر کررہی ہیں وہ عام گھڑی کا اشارہ شیئر کرنا چاہئے۔ اس میں معلومات بانٹنے کے لئے صرف دو تاروں ہیں جن میں سے ایک کو لنڈ سگنل کے لئے استعمال کیا جاتا ہے اور دوسرا ڈیٹا بھیجنے اور وصول کرنے کے لئے استعمال ہوتا ہے۔
I2C مواصلت کیسے کام کرتی ہے؟
I2C مواصلت سب سے پہلے فلپس نے متعارف کروائی تھی۔ جیسا کہ پہلے کہا گیا ہے کہ اس میں دو تاروں ہیں ، یہ دو تاروں دو آلات سے منسلک ہوں گی۔ یہاں ایک آلہ کو ماسٹر کہا جاتا ہے اور دوسرے آلہ کو غلام کہا جاتا ہے ۔ مواصلت دو ماسٹر اور غلام کے درمیان ہمیشہ ہونی چاہئے اور ہوگی ۔ I2C مواصلات کا فائدہ یہ ہے کہ ایک سے زیادہ غلام ایک ماسٹر سے منسلک ہوسکتے ہیں۔
مکمل مواصلت ان دونوں تاروں یعنی سیریل کلاک (ایس سی ایل) اور سیریل ڈیٹا (ایس ڈی اے) کے ذریعے ہوتی ہے۔
سیریل گھڑی (ایس سی ایل): غلام کے ساتھ آقا کے ذریعہ تیار کردہ گھڑی سگنل کا اشتراک کرتا ہے
سیریل ڈیٹا (ایس ڈی اے): ماسٹر اور غلام کے درمیان اور اس سے ڈیٹا بھیجتا ہے۔
کسی بھی وقت صرف ماسٹر ہی مواصلات کا آغاز کر سکے گا۔ چونکہ بس میں ایک سے زیادہ غلام ہیں ، لہذا مالک کو ہر ایک غلام سے الگ ایڈریس استعمال کرتے ہوئے رجوع کرنا پڑتا ہے۔ جب صرف سالو کو اس خاص پتے سے خطاب کیا جائے گا تو وہ معلومات کے ساتھ جواب دیں گے جبکہ دوسرے کام چھوڑ دیتے ہیں۔ اس طرح ہم ایک ہی بس کو متعدد آلات کے ساتھ بات چیت کرنے کے ل. استعمال کرسکتے ہیں۔
I2C مواصلات کہاں استعمال کریں؟
I2C مواصلت صرف مختصر فاصلے پر ہونے والے مواصلات کے لئے استعمال ہوتا ہے ۔ یہ یقینی طور پر ایک حد تک قابل اعتماد ہے کیونکہ اس کو اسمارٹائز بنانے کیلئے گھڑی کی ایک مطابقت پذیری موجود ہے۔ یہ پروٹوکول بنیادی طور پر سینسر یا دیگر آلات سے بات چیت کرنے کے لئے استعمال ہوتا ہے جس میں کسی ماسٹر کو معلومات بھیجنا پڑتا ہے۔ یہ بہت آسان ہے جب ایک مائکروقانت کنندہ صرف کم از کم تاروں کا استعمال کرتے ہوئے بہت سے دوسرے غلام ماڈیول کے ساتھ بات چیت کرنا پڑتا ہے۔ اگر آپ طویل فاصلہ طے کرنے والے مواصلات کی تلاش کر رہے ہیں تو آپ کو RS232 کی کوشش کرنی چاہئے اور اگر آپ زیادہ قابل اعتماد مواصلات کی تلاش کر رہے ہیں تو آپ کو ایس پی آئی پروٹوکول کو آزمانا چاہئے۔
ICC XC8 کمپلر کا استعمال کرتے ہوئے PIC16F877a کے ساتھ
بہت سارے تعارف ، آئیے اس میں داخل ہوسکتے ہیں اور یہ سیکھتے ہیں کہ ہم I2C مواصلت کو انجام دینے کے لئے مائکروقابو کنٹرولر کا استعمال کیسے کرسکتے ہیں۔ اس سے پہلے کہ ہم یہ واضح کردیں کہ یہ سبق صرف XC8 کمپلر کا استعمال کرتے ہوئے PIC16F877a میں I2C کے بارے میں ہی بات کرتا ہے ، دوسرے مائکروقابو پانے والوں کے لئے بھی یہ عمل ایک ہی ہوگا لیکن معمولی تبدیلیوں کی ضرورت ہوگی۔ یہ بھی یاد رکھنا کہ PIC18F سیریز جیسے اعلیترک مائکروکانٹرولرز کے لئے خود ہی I2C خصوصیات کو استعمال کرنے کے ل comp مرتب میں خود ہی کچھ لائبریری موجود ہوسکتی ہے ، لیکن PIC16F877A کے لئے ایسا کچھ بھی نہیں ہے لہذا ہم خود ہی ایک تعمیر کریں۔ یہاں سمجھایا جانے والی لائبریری نیچے میں ڈاؤن لوڈ کرنے کے لئے ہیڈر فائل کے طور پر دی جائے گی جسے PIC16F877A کے لئے دوسرے I2C آلات کے ساتھ بات چیت کرنے کے لئے استعمال کیا جاسکتا ہے۔
ہمیشہ کی طرح کسی بھی چیز کو شروع کرنے کا بہترین مقام ہمارا ڈیٹاشیٹ ہوتا ہے۔ ڈیٹاشیٹ میں I2C کے بارے میں تفصیلات دیکھیں اور دیکھیں کہ کون سے رجسٹر تشکیل دینے ہیں۔ میں تفصیلات میں وضاحت کرنے نہیں جا رہا ہوں چونکہ ڈیٹاشیٹ آپ کے لئے پہلے ہی کرچکا ہے۔ مزید نیچے میں ہیڈر فائل میں موجود مختلف افعال اور پروگرام میں ان کی ذمہ داری کی وضاحت کرنے جا رہا ہوں۔
باطل I2C_Initialize ()
ابتداءی تقریب مائکروکانٹرولر کو یہ بتانے کے لئے استعمال کی جاتی ہے کہ ہم I2C پروٹوکول استعمال کرنے جارہے ہیں۔ ایس ایس پی سی سی این اور ایس ایس پی سی این 2 رجسٹر پر مطلوبہ بٹس لگا کر ایسا کیا جاسکتا ہے۔ پہلا قدم IIC پنوں کو ان پٹ کے طور پر اعلان کرنا ہوگا ، یہاں پنوں RC3 اور RC4 کو I2C مواصلات کے لئے استعمال کیا جانا چاہئے لہذا ہم ان کو ان پٹ کے طور پر اعلان کرتے ہیں۔ اگلا ہمیں ایس ایس پی سی او سی ایس پی سی سیون 2 قائم کرنا چاہئے جو ایک ایم ایس پی کنٹرول رجسٹر ہے۔ ہم POS کو IOS ماسٹر وضع میں FOSC / (4 * (SSPADD + 1)) کی گھڑی تعدد کے ساتھ چلارہے ہیں ۔ ذیل میں تبصرہ لائنوں میں درج ڈیٹا شیٹ کے صفحہ نمبروں کو دیکھیں تاکہ اس مخصوص رجسٹر کو اس طرح کیوں رکھا گیا ہے۔
اس کے بعد ہمیں گھڑی کی فریکوئنسی طے کرنا ہوگی ، مختلف ایپلی کیشنز کے لئے گھڑی کی فریکوئنسی مختلف ہوسکتی ہے ، لہذا ہم صارف سے متغیر فیق_ک کے ذریعہ انتخاب حاصل کرسکتے ہیں اور ایس ایس پی اے ڈی ڈی رجسٹر قائم کرنے کے لئے اپنے فارمولوں میں اس کا استعمال کرتے ہیں۔
باطل I2C_Initialize (بغیر دستخط شدہ طویل فیق_ک) // IIC ماسٹر بننا شروع کریں { TRISC3 = 1؛ TRISC4 = 1؛ // ایس ڈی اے اور ایس سی ایل پنوں کو ان پٹ کے بطور سیٹ کریں ایس ایس پی سی این = 0b00101000؛ // pg84 / 234 SSPCON2 = 0b00000000؛ // پی جی 85/234 ایس ایس پی اے ڈی = (_XTAL_FREQ / (4 * فیق_کے * 100)) - 1؛ // گھڑی کی رفتار مقرر کرنا pg99 / 234 ایس ایس پی ایس ٹی اے ٹی = 0b00000000؛ // پی جی 83/234 }
باطل I2C_Hold ()
اگلا اہم فنکشن I2C_hold فنکشن ہے جو موجودہ I2C آپریشن مکمل ہونے تک ڈیوائس کی پھانسی کے لئے استعمال ہوتا ہے ۔ ہمیں جانچ پڑتال کرنا ہوگی کہ کوئی نیا آپریشن شروع کرنے سے پہلے I2C آپریشن کرنا ہے یا نہیں۔ یہ رجسٹر ایس ایس پی ایس ٹی اے ٹی اور ایس ایس پی سی این 2 چیک کرکے کیا جاسکتا ہے۔ ایس ایس پی ایس ٹی اے ٹی میں I2C بس کی حیثیت کے بارے میں معلومات پر مشتمل ہے۔
پروگرام تھوڑا سا پیچیدہ معلوم ہوسکتا ہے کیونکہ اس میں ایک “اور” اور “یا” آپریٹر شامل ہے۔ جب آپ اسے توڑتے ہو
ایس ایس پی ایس ٹی اے ٹی اور 0b00000100 ایس ایس پی سی این 2 اور 0 بی 100011111
اور
اس کا مطلب ہے کہ ہم یہ یقینی بنارہے ہیں کہ ایس ایس پی ایس ٹی اے ٹی پر 2 این ڈی سا صفر ہے اور اسی طرح ایس ایس پی سی 2 2 پر 0 سے 4 تک کی بٹس صفر ہیں ۔ پھر ہم ان سب کو یکجا کرتے ہیں تاکہ چیک کریں کہ نتیجہ صفر ہے۔ نتیجہ صفر ہے، تو یہ صفر ہو جاتا ہے جب تک کے بعد سے یہ ایک میں استعمال کیا جاتا ہے جو وہاں کے انعقاد کا نہ تو پروگرام جاری رہے گی جبکہ لوپ.
باطل I2C_Hold () { جبکہ ((SSPCON2 & 0b00011111) - (SSPSTAT & 0b00000100))؛ // اس بات کو یقینی بنانے کے ل reg رجسٹروں پر چیک کریں کہ IIC جاری نہیں ہے }
باطل I2C_Begin () اور باطل I2C_End ()
ہر بار جب ہم I2C بس کا استعمال کرتے ہوئے کوئی ڈیٹا لکھتے یا پڑھتے ہیں تو ہمیں I2C کنکشن شروع کرنا چاہئے اور اسے ختم کرنا چاہئے ۔ I2C مواصلت شروع کرنے کے ل we ہمیں SEN بٹ طے کرنا ہوگا اور ابلاغ کو ختم کرنے کے ل we ہمیں PEN کا درجہ بٹ طے کرنا ہوگا۔ اس میں سے کسی بھی بٹس کو ٹوگل کرنے سے پہلے ہمیں یہ بھی جانچ لینا چاہئے کہ آیا I2C بس فنکشن I2C_Hold استعمال کرکے مصروف ہے یا نہیں جیسا کہ مذکورہ بالا بحث ہوا ہے۔
باطل I2C_Begin () { I2C_Hold ()؛ // پروگرام منعقد کریں I2C مصروف ہے SEN = 1؛ // شروع کریں IIC pg85 / 234 } باطل I2C_End () { I2C_Hold ()؛ // پروگرام منعقد کریں I2C مصروف ہے PEN = 1؛ // اختتام IIC pg85 / 234 }
باطل I2C_Write ()
لکھنے کی تقریب ماسٹر ماڈیول سے کسی بھی ڈیٹا کو سالو ماڈیول میں بھیجنے کے لئے استعمال کی جاتی ہے ۔ یہ فنکشن عام طور پر I2C اسٹارٹ فنکشن کے بعد استعمال ہوتا ہے اور اس کے بعد I2C End فنکشن ہوتا ہے۔ IIC بس میں جو ڈیٹا لکھنا پڑتا ہے وہ متغیر کے اعداد و شمار سے ہوتا ہے۔ اس کے بعد اس کوائف I2C بس پر بھیجنے کے لئے ایس ایس پی بی یو ایف بفر رجسٹر میں بھری جاتی ہے۔
عام طور پر اعداد و شمار لکھنے سے پہلے ایک پتہ لکھا جائے گا لہذا آپ کو ایڈریس مرتب کرنے کے لئے ایک بار تحریری تقریب کا استعمال کرنا پڑے گا اور دوسری بار اصل اعداد و شمار بھیجنے کے لئے۔
باطل I2C_Write (دستخط شدہ ڈیٹا) { I2C_Hold ()؛ // پروگرام منعقد کریں I2C مصروف ہے SSPBUF = ڈیٹا؛ // pg82 / 234 }
دستخط شدہ مختصر I2C_Read ()
حتمی فنکشن جس کے بارے میں ہمیں جاننا ہے وہ I2C_Read فنکشن ہے۔ اس فنکشن کا استعمال اس ڈیٹا کو پڑھنے کے لئے کیا جاتا ہے جو فی الحال I2C بس میں ہے۔ بس میں کچھ قیمت لکھنے کے لئے کسی غلام سے کہنے کے بعد استعمال ہوتا ہے۔ موصول ہونے کے اس قدر میں ہوں گے SSPBUF ہم اپنے آپریشن کے لئے کسی بھی متغیر کو اس قدر منتقل کر سکتے ہیں.
I2C مواصلات کے دوران ، ماسٹر کے ذریعہ درخواست کردہ ڈیٹا بھیجنے کے بعد غلام ایک اور سا بھیجے گا جو ایکلیٹیلیٹی بٹ ہے ، اس بات کو ماسٹر کے ذریعہ بھی چیک کیا جانا چاہئے تاکہ یہ یقینی بنایا جا سکے کہ مواصلات کامیاب ہوئے۔ شناخت کے ل AC ACKDT بٹ کی جانچ پڑتال کے بعد ACKEN بٹ ترتیب دے کر اسے قابل بنانا چاہئے۔
اہستاکشرت مختصر I2C_Read (اہستاکشرت مختصر ACK) { اہستاکشرت مختصر آنے والے؛ آئی 2 سی ہولڈ ()؛ RCEN = 1؛ آئی 2 سی ہولڈ ()؛ آنے والی = SSPBUF؛ // ایس ایس پی بی یو ایف آئی 2 سی ہولڈ () میں ڈیٹا محفوظ کریں ۔ ACKDT = (ack)؟ 0: 1؛ // چیک کریں کہ آیا اکٹ بٹ کو ACKEN = 1 ملا ہے؛ // پیج 85/234 واپسی آنے والی؛ }
بس ، یہ افعال I2C مواصلات مرتب کرنے اور آلے سے ڈیٹا لکھنے یا پڑھنے کے ل enough کافی ہونا چاہ.۔ یہ بھی نوٹ کریں کہ بہت سی دوسری خصوصیات ہیں جو I2C مواصلات انجام دے سکتی ہیں لیکن سادگی کی خاطر ہم ان پر یہاں گفتگو نہیں کر رہے ہیں۔ آپ ہمیشہ کام کرتے ہوئے ڈیٹا شیٹ کا حوالہ دے سکتے ہیں
PIC16F877A I2C مواصلت کے لئے ہیڈر فائل والا مکمل کوڈ لنک سے ڈاؤن لوڈ کیا جاسکتا ہے۔
I2C ہیڈر فائلوں کا استعمال کرتے ہوئے پروگرامنگ:
اب جب ہم یہ سیکھ چکے ہیں کہ آئی 2 سی مواصلات کس طرح کام کرتی ہے اور ہم اس کے لئے تیار کردہ ہیڈر فائل کو کس طرح استعمال کرسکتے ہیں ، آئیے ہم ایک سادہ پروگرام بنائیں جس میں ہم ہیڈر فائل کا استعمال کریں گے اور آئی 2 سی لائنوں پر کچھ قدریں لکھیں گے۔ اس کے بعد ہم اس پروگرام کی تقلید کریں گے اور چیک کریں گے کہ بس میں یہ اقدار لکھی جارہی ہیں یا نہیں۔
ہمیشہ کی طرح کنفیگریشن بٹس ترتیب دینے اور گھڑی کی تعدد کو 20 میگا ہرٹز پر ترتیب دینے سے شروع ہوتا ہے جیسا کہ ذیل میں دکھایا گیا ہے
#pragma config FOSC = HS // Oscillator Selection Bits (HS oscillator) #pragma config WDTE = OFF // واچ ڈاگ ٹائمر بٹ (WDT غیر فعال) # پراگما تشکیل PWRTE = آن // پاور اپ ٹائمر قابل بٹ (PWRT सक्षम) # pragma تشکیل Boren کے = ON // براؤن باہر ری سیٹ سا فعال (BOR فعال) #pragma تشکیل LVP = OFF // کم وولٹیج (سنگل فراہمی) میں سرکٹ سیریل پروگرامنگ سا فعال (RB3 ڈیجیٹل I / O، پر HV ہے پروگرامنگ کے لئے ایم سی ایل آر کا استعمال لازمی ہے) # پراگما کنفیگریشن سی پی ڈی = آف // ڈیٹا ایپروم میموری کوڈ پروٹیکشن بٹ (ڈیٹا ایئپروم کوڈ پروٹیکشن آف) # پیراگما کنفگریشن WRT = OFF // فلیش پروگرام میموری تحریر کو چالو کریں بٹ (تحریری تحریر؛ تمام پروگرام میموری EECON کنٹرول کے ذریعہ لکھا جاسکتا ہے) # پراگما کنفیگریشن سی پی = آف // فلیش پروگرام میموری کوڈ پروٹیکشن بٹ (کوڈ پروٹیکشن آف) # متعین _XTAL_FREQ 20000000
اگلا قدم ہیڈر فائل شامل کرنا ہے جس کے بارے میں ہم نے ابھی بحث کی ہے۔ ہیڈر فائل PIC16F877a_I2C.h کے نام سے منسوب ہے اور مذکورہ بالا لنک سے ڈاؤن لوڈ کیا جاسکتا ہے۔ یقینی بنائیں کہ آپ کے پروجیکٹ لسٹ کی ہیڈر فائل میں ہیڈر فائل شامل کی گئی ہے ، آپ کے پروجیکٹ فائل کا ڈھانچہ اس طرح کی نظر آنا چاہئے
اس بات کو یقینی بنانے کے بعد کہ ہیڈر فائل کو آپ کے پروجیکٹ فائل میں شامل کیا گیا ہو اس میں مرکزی سی فائل میں ہیڈر فائل شامل کریں
# شامل کریں
اندر جبکہ لوپ ہم I2C مواصلات شروع ہو جائے گا I2C بس کو لکھنے کی چند بے ترتیب اقدار اور پھر I2C مواصلات ختم. میں نے جو بے ترتیب اقدار منتخب کیے ہیں وہ D0، 88 اور FF ہیں۔ آپ اپنی خواہش کے مطابق کسی بھی اقدار کو ان پٹ کر سکتے ہیں۔ لیکن ان اقدار کو یاد رکھیں جیسا کہ ہم ان کو اپنے نقلی شکل میں تصدیق کرتے رہیں گے۔
جبکہ (1) { I2C_Begin ()؛ I2C_Write (0xD0)؛ I2C_Write (0x88)؛ I2C_Write (0xFF)؛ I2C_End ()؛ __ڈیلا_س (1000)؛ }
مکمل پروگرام کے صفحے کے نچلے حصے میں پایا جا سکتا ہے، آپ اس کا استعمال کرتے ہیں یا یہاں سے پروگرام کی مکمل زپ فائل ڈاؤن لوڈ کرسکتے ہیں. پروگرام حاصل کرنے کے بعد اسے مرتب کریں اور نقلی شکل کے ل ready تیار ہوجائیں۔
پروٹیوس تخروپن:
پروٹیوس کے پاس I2C ڈیبگر نامی ایک عمدہ آلہ موجود ہے جو I2C بس میں موجود ڈیٹا کو پڑھنے کے لئے استعمال کیا جاسکتا ہے ، لہذا آئیے ہم اس کا استعمال کرتے ہوئے ایک سرکٹ بنائیں اور چیک کریں کہ آیا ڈیٹا کامیابی کے ساتھ لکھا جارہا ہے۔ مکمل سرکٹ ڈایاگرام ذیل میں دکھایا گیا ہے
ہیکس فائل لوڈ کریں جو مائیکروکنٹرولر پر ڈبل کلک کرکے ہمارے پروگرام کے ذریعہ تیار کی گئی تھی۔ پھر پروگرام کی نقالی کریں۔ آپ کو ونڈو پاپ اپ نظر آئے گا جو I2C بس کے بارے میں تمام معلومات ظاہر کرے گا۔ ہمارے پروگرام کے لئے ونڈو نیچے دکھایا گیا ہے۔
اگر آپ لکھے جانے والے ڈیٹا پر گہری نگاہ ڈالیں تو آپ محسوس کرسکتے ہیں کہ وہ وہی ہیں جو ہم نے اپنے پروگرام میں لکھا ہے۔ اقدار D0، 88 اور FF ہیں۔ اقدار ہر 1 سیکنڈ کے ل are لکھی جاتی ہیں لہذا وقت بھی اپ ڈیٹ ہو رہا ہے جیسا کہ ذیل میں دکھایا گیا ہے۔ نیلے تیر کا اشارہ ہے کہ یہ ماسٹر سے غلام تک لکھا گیا ہے اگر یہ دوسری صورت میں مخالف سمت کی طرف اشارہ کیا جائے گا۔ ارسال کیے جارہے ڈیٹا کا ایک قریب سے جائزہ لیا گیا ہے۔
یہ صرف I2C کے کیا کرسکتا ہے اس کی ایک جھلک ہے ، یہ متعدد آلات پر ڈیٹا پڑھ اور لکھ بھی سکتا ہے۔ I2C پروٹوکول کے ساتھ کام کرنے والے مختلف ماڈیولز کی مداخلت کرکے ہم اپنے آنے والے سبق میں I2C کے بارے میں مزید احاطہ کریں گے۔
امید ہے کہ آپ اس منصوبے کو سمجھ گئے ہوں گے اور اس سے کچھ مفید سیکھیں گے۔ اگر آپ کو کوئی شبہات ہیں تو انہیں نیچے تبصرہ سیکشن میں پوسٹ کریں یا تکنیکی مدد کے لئے فورمز کا استعمال کریں۔
مکمل کوڈ ذیل میں دیا گیا ہے۔ آپ یہاں سے تمام کوڈ کے ساتھ ہیڈر فائلوں کو ڈاؤن لوڈ کرسکتے ہیں۔