ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

موضوع: پروتکل I2C

  1. #1
    2013/06/04
    155
    0

    پروتکل I2C

    سلام من می خوام دو تا ATMEGA8 رو از طریق I2C به هم متصل کنم.
    مثلا اولی برای دومی عدد 3 رو ارسال کنه. بعد دومی یکی به عدد اضافه کنه و 4 رو بر گردونه به اولی!
    1- خوب کدام پایه های از میکروها باید به هم وصل بشن؟ (مقاومت هم ظاهرا می خواد کجا و چقدر بزارم؟)
    2- من توی کدویژن با کدویزارد کار می کنم و حرفه ای نیستم. کجا یا کجاهای کدویزاد رو باید تنظیم کنم؟(دقیق بگید)
    3- توابع ارسال و دریافت و ... چیا هستن مثلا کسی می تونه همین مثال رو کدش رو بنویسه؟
    مرسی

    من رشتم نرم افزاره و دید نرم افزاری می خوام نه سطح سخت افزار. مثلا نگید فلان رجیستر بیت بهمان رو چه کنم! همه ی اینا تابع داره که کل کار رو انجام می ده. اون تابع ها چین و آرگومان هاشون و برگشتی هاشون چیه؟
  2. #2
    2011/07/09
    مشهد
    486
    14

    پاسخ : پروتکل I2C

    سلام،
    این کتاب رو دانلود و قسمت I2C رو مطالعه بفرمایید به تموم جواب هاتون میرسین:
    http://www.avr.ir/index.php?option=com_content&task=view&id= 109&Itemid=27

    اول تمام رجیسترهاشم توضیح داده و برنامه رو با استفاده از رجیسترها و بدون تابع آماده نوشته، بعدشم توابع آماده CodeVision رو توضیح داده و یه مثال کاربردی براش زده.

    موفق باشید

    «پشتکار» «پشتکار» «پشتکار»
  3. #3
    2013/06/04
    155
    0

    پاسخ : پروتکل I2C

    همون طور که گفتم من خیلی حرفه ای نیستم و این کتاب رو اصلا نفهمیدم! :eek: در ضمن توی اون روی یک حافظه داده می نویسن! خوب حالا از کجا بفمیم انجام شد! تو مثالی که خودم زدم اگه جواب برگشتی 4 بود کار درست انجام شده ولی من نمی دونم چطور ارسال کنم! چه طور دریافت کنم و چه طور دوباره جواب رو ارسال کنم! در ضمن در کد ویژن من هم دو تا تب هست
    I2C
    و
    TWI(I2c)
    باید برم کدوم و توش چه کار کنم؟ یعنی کسی نیست خودش بتونه یه مثال بنویسه!
  4. #4
    2008/03/03
    تهران
    416
    6

    پاسخ : پروتکل I2C

    نقل قول نوشته اصلی توسط saate777
    همون طور که گفتم من خيلي حرفه اي نيستم و اين کتاب رو اصلا نفهميدم! :eek: در ضمن توي اون روي يک حافظه داده مي نويسن! خوب حالا از کجا بفميم انجام شد! تو مثالي که خودم زدم اگه جواب برگشتي 4 بود کار درست انجام شده ولي من نمي دونم چطور ارسال کنم! چه طور دريافت کنم و چه طور دوباره جواب رو ارسال کنم! در ضمن در کد ويژن من هم دو تا تب هست
    I2C
    و
    TWI(I2c)
    بايد برم کدوم و توش چه کار کنم؟ يعني کسي نيست خودش بتونه يه مثال بنويسه!
    سلام دوست من
    من قبلا با I2C زياد کار کردم ولي من فقط براي خواندن و نوشتن اطلاعات در حاظفه 24c512 و آي سي ساعت ds1307 ازش استفاده کردم
    اينطوري از کد ويزارد پيداس فکر کنم شما بايد از TWI که master , slave داره استفاده کني ! :rolleyes:
    و براي يک ميکرو اون رو مستر و براي ديگري slave کني در حالت slave مقدار بافر ورودي و خروجي براش تنظيم ميشه که در واقع خودش کدي برات مينويسه (البته در SLAVE) که وقتي ديتا به مقدار بافر تنظيم شده رسيد اگر خطايي نداشت مثلا فلان کار رو انجام بده (که جاش در کدي که کدويزارد بهت ميده مشخص شده )
    ولي اينکه ارتباط ميتونه دوطرفه باشه در اين حالت نميدونم ! :sad:

    ولي زياد ديدم که بچه ها از ارتباط سريال بين دو ميکرو يا از ارتباط isp استفاده ميکنن . شما چرا از اين راهها استفاده نمي کنيد .
    در ارتباط سريال که با استفاده از يدونه MAX ميتونيد با فاصله خيلي زيادي ارتباط برقرار کنيد يا حتي بيسيم !
    موفق باشيد .

    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .
  5. #5
    2011/07/09
    مشهد
    486
    14

    پاسخ : پروتکل I2C

    مجدداً سلام،

    ببین دوست من، اینکه انتظار داشته باشی دقیق همون جوابی که میخوای رو برسی، یکم بی انصافیه، چون شاید قبلاً کسی این کار رو نکرده باشه که الان کداش رو داشته باشه و واست بذاره تا کامل متوجه بشی، من یه مثال کامل میزنم از راه اندازی سنسور Compas3 که با I2C کار میکنه، با همین مثال با توابع اولیه I2C در کدویژن آشنا میشی:
    اول از همه اینکه من از زبونه I2C استفاده کردم و روی پورت A تنظیم کردم:
    کد:
    #include <mega16.h>
    #include <stdio.h>
    
    // I2C Bus functions
    #asm
      .equ __i2c_port=0x15 ;PORTC
      .equ __sda_bit=0
      .equ __scl_bit=1
    #endasm
    #include <i2c.h>
    
    void main(void)
    {
    unsigned int hb = 0;
    char buffer[16];
    
    // I2C Bus initialization
    i2c_init();
    
    while (1)
       {
         i2c_start();
         i2c_write(192);
         i2c_write(1);
         i2c_start();
         i2c_write(193);
         hb=i2c_read(0);
         i2c_stop(); 
         
         lcd_gotoxy(8,0);
         sprintf(buffer,"%d",hb);
         lcd_puts(buffer); 
    
       };
    }
    همونطور که میبینی تنها مواردی که استفاده شده یه start بود، یه تابع برای نوشتن (ارسال) write، یه تابع برای خوندن (دریافت) read و یه تابع هم برای stop!
    حالا اینکه اون مقادیری که ارسال کردم چیه و چرا اونا رو فرستادم مربوط به خود سنسوره و از دیتاشیتش استخراج شده! مثلاً یکیش آدرس خود سنسوره، یکی آدرس رجیستری که مثلاً جهت درش ذخیره شده و باید فراخونی بشه و الخ...

    حالا شما با استفاده از این توابع میتونی خودت یه الگوریتمی بنویسی که به خوبی این میکروها با هم شبکه بشن و حتی اگر داده خطا (اشتباه) هم ارسال شد تصحیح کنه و به قولی Ack و Nack رو وارد بازی کنی

    من قبلاً برای یه پروژه ای دوتا میکرو رو با I2C باهم شبکه کرده بودم که یکی فقط نقش پردازنده رو ایفا میکرد و یکی فقط وظیفه فرمان دادن های سخت افزاری (واسه کنترل بهتره موتور) رو داشت. اما هرچی گشتم برنامش پیدا نشد، مث که پاک شده! ولی برنامم رو با استفاده از همین توابعی که می بینی نوشته بودم!

    موفق باشی

    «پشتکار» «پشتکار» «پشتکار»
  6. #6
    2013/06/04
    155
    0

    پاسخ : پروتکل I2C

    من با جند تا مشکل مواجهم
    1- از کدویزارد استفاده می کنم(حالا باید برم توی قسمت twi(I2C) یا باید برم قسمت I2C)
    در قسمت TWI میشه برای slave ها آدرس تعیین کرد که منطقی هست ولی اونقت کد تولید شده توابعی که استفاده کردید رو نداره!
    در قسمت I2C توابع قابل تعریفن ولی جالبه که نمیشه برای Slave ها آدرس تعیین کرد(اصلا نمیشه Slave یا مستر بودن رو تعیین کرد)
    2- کلا من هدفم اینه که بعد از یاد گرفتن i2c برم سراغ سنسور دمای mlx90614 که با i2c کار میکنه. وی اینو نمی تونم هضم کنم که اگه من i2c رو هم خوب بفهمم اونوقت چطور باید سنسور رو پروگرم کنم و Slave تعریفش کنم؟؟؟؟؟چون هدف نهای اونه که از سه تا MLX90614 در سه طرف یه ربات استفاده کنم؟
    نکته : این سنیوری که گفتم یه سنسور دما با خروجی I2C هست که باید چندتاش رو همزمان به میکرو وصل کرد تا دمای چند طرف رو خوند. چون چند تا داریم پس میکرو باید مستر باشه و سنسورها Slave حالا سوال اینه مگه سنسور رو هم میشه پروگرم کرد که slave تعریف بشه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
  7. #7
    2011/07/09
    مشهد
    486
    14

    پاسخ : پروتکل I2C

    خوب دوست من شما از اول که گفتی دو تا میکرو رو میخوای بهم شبکه کنی؟
    الان شد سنسور؟
    خب، برای سنسور از همون زبونه I2C استفاده کن و مشخص کن بر روی کدوم پورت (پرت) قرار بگیره. بقیش همه میشه دیتاشیت!
    من با این سنسوری که شما میگی کار نکردم، ولی دیتاشیتش رو بخونی مطمئن باش خودش گفته چطور باید ارتباط برقرار کنی!
    اونجا مشخص کرده اول چه آدرسی رو بفرستی، بعد چه رجیستری (از سنسور) رو فراخونی کنی و کی مقدار رو بخونی و الخ...
    دیتاشیت رو کامل مطالعه کن، مشکلت حل میشه

    «پشتکار» «پشتکار» «پشتکار»
  8. #8
    2008/03/03
    تهران
    416
    6

    پاسخ : پروتکل I2C

    من که تا حالا نديدم سنسوري پروگرام بشه مگر اينکه خودش مدار پروسس داشته باشه !
    ولي آدرس داره و ميشه آدرس داد و اطلاعات رو ازش خوند . همشون هم از نظر سخت افزاري با همون باس دو سيمه I2C بهم وصل ميشن .
    بنظر من بهتره مستقيم بري سوراغ خود سنسور تا يه ميکرو ديگه . وقتت يو تلف نکن دوست عزيز .
    خودتو بنداز وسط چهار متري تا شنا رو ياد بگيري . اگه داشتي غرق ميشدي دوستاني اينجا هستن که دستتو بگيرن .
    - به دنبال فرصت عمري تباه کردم ! فرصت جواني ام بود من اشتباه کردم .
  9. #9
    2013/06/04
    155
    0

    پاسخ : پروتکل I2C

    هنوزم میگم می خوام اول بفهمم این I2C چیه! یکم باهاش کار کنم مسلط بشم بعد برم سراغ این سنسور که هدف اصلیه!
    گیرم هم همون جایی که شما کار نکردید و نخوندین! یه سرچ بزنین می بینین این سنسور خیلی گرونه و اگه خریدی باید نهایت اسفاده رو بکنی یا کلا نخری! از طرفی اونایی که کار کردن خیلی باهاش گیر دارن(توی همین سایت یه سرچ بزنین). ضمنا اونایی که کار کردن میگن علیرغم 40 صفحه دیتا شیت مطلب درست و درمونی نداره!
    حالا فرض کنید من که اصلا نمی دونم I2C چی هست برم اینو بخرم و مدارم کار نکنه! حالا مشکل از I2C یا از سنسور یا از جای دیگه؟؟؟؟؟؟؟؟
    تازه مشکلات بیش تر از یانه که چنتا تاپیک دیگه هم گذاشتم ببینید می فهمید هدف نهایم خیلی دور هست! حداقل برای من که سخته!
  10. #10
    2013/06/04
    155
    0

    پاسخ : پروتکل I2C

    نقل قول نوشته اصلی توسط mania59

    ولي آدرس داره و ميشه آدرس داد و اطلاعات رو ازش خوند .
    من همین رو نمی فهمم که آدرس داره یعنی چی؟ من سه تا ازش لازم دارم! حالا آدرساشون کجا تعیین شده که من توی کدی که میزنم ازشون استفاده کنم؟
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 12

موضوعات مشابه

  1. پروتکل TRL/2
    توسط mehdi.electrical88 در انجمن پروسسورهای ARM
    پاسخ: 0
    آخرين نوشته: 2015/10/28, 10:15
  2. پروتکل TCP/IP
    توسط msas در انجمن شبکه
    پاسخ: 14
    آخرين نوشته: 2012/05/05, 00:25
  3. پروتکل کن
    توسط n.a در انجمن مفاهیم پایه برق و الکترونیک
    پاسخ: 2
    آخرين نوشته: 2010/11/30, 16:16
  4. پروتکل spi
    توسط t_heidari_elc در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 0
    آخرين نوشته: 2010/05/05, 13:24
  5. پروتکل موس
    توسط nasrmicro در انجمن میکروکنترلرهای PIC
    پاسخ: 4
    آخرين نوشته: 2010/02/23, 15:46

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •