۰۷-اسفند-۱۳۸۵, ۲۳:۲۰:۳۹
با سلام مشکلی در ارتباط با راه اندازی 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 کردم.
#asm
.equ __i2c_port=0x15 ;PORTC
.equ __sda_bit=1
.equ __scl_bit=0
#endasm
ولی مثلا وقتی روی پین های دیگه پورت B متلا تعریف میکنم کار میکنه ولی وقتی تعریف بالا رو برای پورت C میکنم اصلا سیگنال SCL هم روی پایه ایجاد نمیشه PCB مداررو هم کشیدم بدجوری کلافم کرده لطفا راهمایی کنید . ضمنا SDAو SCLرو هم با مقاومت بیرونی pullup کردم.