با سلام.
قصد داشتم یه ماژول STH15 رو که با پروتکل I2C کار میکنه به میکرو LPC1768 متصل کنم.
در سی دی آموزشی پیشرفته LPC1768 یه توضیح جامع در خصوص I2C توسط جناب آقای زرکوب داده شده که بنده تقریبا به دقت اون رو بررسی کردم.
در توضیحات آن سی دی در خصوص اتصال E2Prom متصل به برد که با پروتکل فوق کار میکنه توضیح داده شده و همچنین کار شده، که بنده هم بر روی برد با حالت های مختلف تست کردم و جواب گرفتم.
در مثال مذکور برای ارتباط با دستگاه های بیرونی با این پروتکل از دو دستور
کد:
I2C_WriteNByte(a, b, c, d, e);
I2C_ReadNByte(a, b, c, d, e);
در این دستور این جور که من فهمیدم،
a: آدرس Slaveb
b: عدد یک قرار میدیم، بیشتر برای مواقعی که مثلا ما چند E2PROM داریم استفاده میشه.
c: آدرس محلی از Slave است که ما در آن آدرس از Slave میخواهیم اطلاعات رو بنویسیم.(مثلا آدرس خانه 5 E2PROM )
d: متغییری که اطلاعات از روی آن به slave انتقال می یابد یا بلعکس.
e: تعداد بایت هایی که قرار است بر روی SLAVE بنویسیم یا بخوانیم که در حالتی که بیش از یک است، میبایست متغیر d از نوع آرایه تعریف گردد.
اگر به سیکل نوشتن اطلاعات بر روی ایپرام توجه کنید که با همین دستور کار میکنه.
یک نکته: آدرس خانه های حافظه در این ایپیرام 2 بایت هست که جایی در دستور به آن اشاره نشده.
حالا بنده قصد دارم با سنسور SHT15 با پروتکل I2C راه بندازم.
موارد زیر در خصوص این سنسور هست، لطفا توجه کنید:
حالا سوال ایجا مطرح میشه که
1- در اینجا ما یه ادرس Slave دارم . دیگه از قسمت c ، که مربوط به ادرس خانه حافظه که دو بایت هم بود دیگه نیست. اینو چیکارش کنم؟؟؟
2- اگه این یک مورد حل بشه، بنده هم قصد خواند اطلاعات رو دارم، پس کافیه e رو هم روی 3 تنطیم کنم راه میفته.
3- ادرس با همان قسمت a هم برای دما 0x03 و برای رطوبت 0x05 میشه! درسته؟
4- در قسمت ادرس هم a , c رو یکسان هم گذاشتم ولی راه نیفتاد.
در خصوص آرگومان های تابع فوق اگه بنده راهنمایی کنید ممنون میشم.
برداشتم اینجوریه که گویا این توابع رو برای E2PROM نوشتن و برای این کاری که من میخوام نمیشه ازش استفاده کرد، اگه اینجوریه من رو راهنمایی کنید این رو راه بندازم و ممنون.