امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در ارتباط I2C
نویسنده پیام
bioosun آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 5
تاریخ عضویت: مهر ۱۳۸۵

تشکرها : 0
( 1 تشکر در 1 ارسال )
ارسال: #1
مشکل در ارتباط I2C
با سلام مشکلی در ارتباط با راه اندازی I2C در codevision برای eeprom 24c1024 دارم و اون این است که وقتی پایه های I2c رو همان جایی که در کاتالوگ میکرو نوشته قرار میدم کار نمیکنه (مثلا پایه 23 و24 در atmega16 ( در صورتی که این پایه ها مخصوص این کار در میکرو مشخص شده اند نمی دونم کجای کار اشکال داره در help برنامه نوشته شده که باید قبل از اضافه کردن سرآمد i2c.h باید محل اتصال پایه های SDA و SCL مشخص بشه که من هرجا تعریف میکنم کارمیکنه مگر سرجای اصلی خودش!!!!!!!
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
ولی مثلا وقتی روی پین های دیگه پورت B متلا تعریف میکنم کار میکنه ولی وقتی تعریف بالا رو برای پورت C میکنم اصلا سیگنال SCL هم روی پایه ایجاد نمیشه PCB مداررو هم کشیدم بدجوری کلافم کرده لطفا راهمایی کنید . ضمنا SDAو SCLرو هم با مقاومت بیرونی pullup کردم.
۰۷-اسفند-۱۳۸۵, ۲۳:۲۰:۳۹
ارسال‌ها
پاسخ
ha_60 آفلاین
بنيانگذار سايت
******

ارسال‌ها: 4,637
موضوع‌ها: 216
تاریخ عضویت: آبان ۱۳۸۳

تشکرها : 560
( 6556 تشکر در 2385 ارسال )
ارسال: #2
 
:lol:
دو جور می شه با این spi کار کرد یکی سخت افزاری یکی نرم افزاری سخت افزاری خودش کار هاشو می کنه و داده رو آماده داخل بافر تحویل می ده محدودیتی هم که داره پایه هاش سر جاشونن و به تعدادی هم که روی سیستم هست می شه استفاده کرد
ولی نرم افزاری هر جا خواستی می تونی تعریف کنی و ایرادشم اینه که باید کل CPU در گیر این ارسال و در یافت بشه شما داری نوع نرم افزاریشو روی سخت افزاری فعال می کنه که نمی شه قاطی می کنن خوب
باید از دستور spi بدون هیچ تعریف پینی استفاده کنی
کد:
void SPI_Send( unsigned char *buf, unsigned int Length )
{
    unsigned char temp;
    if ( Length == 0 )
        return;
    while ( Length != 0 )
    {
        temp = spi(*buf);
        //printf("Send %d & resive %d\r\n",*buf,temp);
        Length--;
        buf++;
    }
    return;
}

هادی امین زاده
دیدن چیزی که همه می بینند هنر نیست
بانک اطلاعات صنایع ایران.
۰۸-اسفند-۱۳۸۵, ۰۱:۱۵:۴۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ارتباط میکرو با plc از طریق شبکه profibus nex2004 11 14,656 ۰۱-بهمن-۱۳۹۸, ۱۱:۰۰:۱۹
آخرین ارسال: d.hamidi2535
Exclamation ارتباط سريال بين دو ميكرو و نمايش روي lcd با codevision ali313 13 28,959 ۰۱-شهریور-۱۳۹۷, ۱۱:۰۸:۴۳
آخرین ارسال: farhadtavakkol
  مشکل در ارتباط بیسیم با پروتکل USART cortex-m3 5 6,012 ۰۷-آبان-۱۳۹۵, ۰۰:۱۷:۳۶
آخرین ارسال: milad15m
  هنگ کردن میکرو در ارتباط سریال nex 1 2,890 ۰۴-آبان-۱۳۹۵, ۲۰:۵۶:۵۹
آخرین ارسال: علی محد شریفی
  ارتباط avr با plc از طریق profibus nex2004 5 7,429 ۰۳-مهر-۱۳۹۵, ۰۳:۱۶:۰۸
آخرین ارسال: jalil2008
  ارتباط دو طرفه با فرستنده nrf24 sniper-70 0 2,426 ۰۹-شهریور-۱۳۹۵, ۲۲:۱۶:۴۸
آخرین ارسال: sniper-70
Question مشکل با ارتباط spi miladd72 1 2,510 ۱۸-مرداد-۱۳۹۵, ۲۱:۱۷:۵۳
آخرین ارسال: sharin
  [سوال] ارتباط میکرو با ماژول ESP8266 ghostrider 6 6,900 ۱۸-خرداد-۱۳۹۵, ۱۴:۴۶:۵۹
آخرین ارسال: alifarmani7
  مشکل ارتباط میکرو با ماژول sim908 saba7darya 15 8,907 ۳۰-اردیبهشت-۱۳۹۵, ۱۰:۱۸:۰۵
آخرین ارسال: sharin
  [آموزشی] مشکل در ارتباط سریال mohamadgmail 5 3,484 ۲۷-آذر-۱۳۹۴, ۰۲:۴۹:۳۱
آخرین ارسال: omid_phoenix

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS