Hi,
ich hab das externe RAM noch nicht so viel benutzt. Du könntest allerdings mal folgende Codestück ausprobieren:
Hab das mal schnell zusammengestrickt. Ist also völlig ungetestet...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) ; }
MfG Kjion





Zitieren

Lesezeichen