با سلام
توی یه پروژه ای با این حافظه ها کمی به مشکل برخوردم.
از دوستان کسی می تونه کمی کمک کنه.
بر نامه ای که نوشتم به این صورته:
مشکل اینجاست که فقط تا آدرس 0x00ff که همون 255 هست میتونه عدد 0x66 رو بنویسه و اگه عدد 255 رو بیشتر کنی هیچ تاثیری نداره.در صورتی که مثلا در حافظه 24c16 می شه تا آدرس 0x07ff عدد دلخوا رو نوشت.
دوستان میتونند کمک کنند؟
توی یه پروژه ای با این حافظه ها کمی به مشکل برخوردم.
از دوستان کسی می تونه کمی کمک کنه.
بر نامه ای که نوشتم به این صورته:
کد:
#include <mega16.h> #asm .equ __i2c_port=0x12 ;PORTD .equ __sda_bit=4 .equ __scl_bit=3 #endasm #include <i2c.h> #include <stdio.h> #define write_address_bus 160 void write_eeprom(unsigned char data,unsigned char address); void main(void) { unsigned int i; i2c_init(); for(i=0;i<255;i++){ write_eeprom(0x66,i); } while (1) { }; } void write_eeprom(unsigned char data,unsigned char address) { int j; i2c_start(); i2c_write(write_address_bus); i2c_write(address); i2c_write(data); i2c_stop(); delay_ms(10); }
دوستان میتونند کمک کنند؟
دیدگاه