Hi,

ich hab das externe RAM noch nicht so viel benutzt. Du könntest allerdings mal folgende Codestück ausprobieren :
Code:
// aus dem Datenblatt des ATMega162 ab Seite 28

#define	OFFSET	0x0500

void init(void)
{
	DDRC = 0xFF;
	PORTC = 0x00;
	
	/* externes RAM aktivieren */
	MCUCR |= (1<<SRE);
	
	/* eventuelle Waitstats aktivieren */
	EMCUCR = 0;
	
	/* eventl. Pins von PortC freigeben */
	SFIOR &= ~((1<<XMBK)|(1<<XMM2)|(1<<XMM1)|(1<<XMM9));
}

int main(void)
{
	unsigned char *p = (unsigned char *) (OFFSET + 1);
	
	init();
	
	*p = 0xaa;
	
	PORTB = *p;
	
	/* Die "unteren" Bytes liegen im internen RAM! */
	p = 0x0002 + OFFSET;
	
	*p = 0x72;
	
	PORTD = *p;
	
	while(1)
		;
}
Hab das mal schnell zusammengestrickt. Ist also völlig ungetestet...

MfG Kjion