Forum: Mikrocontroller und Digitale Elektronik LPC2134 Global Interrupt freigeben


von Sergey S. (Firma: ARM LPC2134, uVision3, in C) (serik00)


Lesenswert?

Guten Abend,

Ich habe ich folgendes gelesen:
(ich finde denn Beitrag nicht mehr, aber es ging um globale Interrupts)
1
#define GLOBAL_INTERRUPT_ENABLE   VICIntEnable = interrupt_temp;
2
#define GLOBAL_INTERRUPT_DISABLE   interrupt_temp = VICIntEnable, VICIntEnClr = interrupt_temp;
3
unsigned int interrupt_temp = 0x000004F0;
4
T0TCR = INTERRUPT_DISABLE;
Hier werden VICIntEnable für Peripherie(UART0,TIMER0 usw.) gesetzt.


Ich mache das aber anderes.
Bei der Initialisierung der Peripherie werden die Register U0IER(UART0), 
T0TCR(TIMER0) usw. nicht gesetzt. Der VICIntEnable wird aber gesetzt.
1
#define ALL_INTERRUPTS_ENABLE  (U0IER = INTERRUPT_ENABLE, U1IER = INTERRUPT_ENABLE,  T0TCR = INTERRUPT_ENABLE)
2
#define ALL_INTERRUPTS_DISABLE (U0IER = INTERRUPT_DISABLE, U1IER = INTERRUPT_DISABLE, T0TCR = INTERRUPT_DISABLE) 
3
4
#define INTERRUPT_ENABLE     0x00000001
5
#define INTERRUPT_DISABLE     0x00000000

und bevor ich TIMER und UARTS nutzen will mache ich folgendes:
ALL_INTERRUPTS_ENABLE;
das mache ich vor meine main-loop.


Aber das sind doch verschiedene Sachen.
Mit VICIntEnable wird doch die kann man die Priorität festlegen.

Wie ist das denn richtig zu machen???
Vielen Dank im Voraus.

von Sergey S. (Firma: ARM LPC2134, uVision3, in C) (serik00)


Lesenswert?

Keine Ideen???

von (prx) A. K. (prx)


Lesenswert?

Vielleicht weil bei allem Detail trotzdem unklar bleibt, warum du 
überhaupt Interrupts sperren willst, und welche.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.