hallo zusammen
ich hab ein seltsames problem beim schreiben eines 24C16 eeproms. mit diesem code
Code:
...
	failed=0;
	for(address=2047;address!=0;address--)
	{
		if(EEWriteByte(address,77)==0)
		{
			//Write Failed
			UART0_puts("Write Failed !");
			UART0_puts("Addess = ");
			UART0_puts((char*)itoa(address,buf,10));
			failed=1;
			Wait();
			break;
		}
	}

	if(!failed)
		UART0_puts("Written 2048bytes");

	Wait();

	UART0_puts("Verifying ...");

	//Check if every location in EEPROM has 
	//number 77 stored
	failed=0;
	for(address=2047;address!=0;address--)
	{
		if(EEReadByte(address)!=77){
			UART0_puts("Read Failed !");
			UART0_puts("Addess = ");
			UART0_puts((char*)itoa(address,buf,10));
			failed=1;
			Wait();
			break;
			}
	}

	if(!failed)
	{
		UART0_puts("Write Success !");
	}
...
kann das komplette eeprom beschreiben und bekomme ein "Write Success!". wenn ich aber anstelle von
"for(address=2047;address!=0;address--)"
das hier schreibe:
"for(address=0;adress<2048;adress++)"
funktioniert es nicht. woran kann das liegen? ist doch dem eeprom egal ob ich ihn "von unten nach oben" so wie im beispielcode oder umgekehrt beschreibe...
was ist da los?
lg martin