Hallo,
meine bisherigen Versuche den LPC2148 in den power down Modus zu 
versetzen gingen leider schief. Lange Recherchen im Netz haben mir 
leider auch nicht weitergeholfen, deshalb dieser Thread.
Der Unterprogramm-code:
1  | void power_down()
  | 
2  | {
 | 
3  |   PINSEL0 |= 0xC000;  // PIN-funktion fuer P0.7 setzen (EINT2)
  | 
4  | 
  | 
5  |   INTWAKE = 0x04;   // P0.7 als interrupt-quelle
  | 
6  |   EXTMODE = 0x04;   // fuer flanke konfigurieren
  | 
7  |   EXTPOLAR = 0x04;  // und konfigurieren fuer steigende flanke
  | 
8  |   VICIntEnClr = 0xFFFFFFFF;        // alles bisherige loeschen
  | 
9  |   VICIntSelect = 0x00000000;       // jetzt alle interrupts IRQ
  | 
10  |   VICVectAddr0 = (unsigned long)isr; // adresse fuer wakeup-code setzen
  | 
11  |   VICVectCntl0 = (0x20 | 16); // benutze EINT2 
  | 
12  |   VICIntEnable = 0x00010000;  // enable
  | 
13  | 
  | 
14  |   PCON = 0x02;  // power down LPC
  | 
15  |   return;
  | 
16  | }
  | 
17  | 
  | 
18  | void __attribute__ ((interrupt("IRQ"))) isr(void)
 | 
19  | {
 | 
20  |   EXTINT = 0x04;  // bit wieder loeschen
  | 
21  | 
  | 
22  |   VICVectAddr = 0;
  | 
23  | }
  | 
Zum "Wecken" soll der Interrupt-Pin EINT2 verwendet werden.
Im Hauptprogramm wird nur die Clock initialisiert (60Mhz), UART 
initialisiert, Pin-Funktionen für UART gesetzt und die power_down() 
Funktion aufgerufen.
Was habe ich vergessen oder falsch gemacht?
Danke im vorraus,
Fabian