Forum: Mikrocontroller und Digitale Elektronik Probleme mit dem Einschalten globaler Interrupts mit IAR Workbench und MSP430F2618


von Lief E. (kallisti)


Lesenswert?

Hallo

Ich würde gerne die globalen Interrupts des MSP430F2618 einstellen. Ich 
arbeite mit IAR Embedded Workbench IDE 5.10.4. Ich habe nun schon 
folgende Versuche gestartet, die globalen Interrupts einzuschalten:

EINT();
_EINT();
__bis_SR_register(GIE);

Leider kommt bei jedem dieser Versuche folgende Fehlermeldung:

Error[e46]: Undefined external "xxx" referred in main

Normalerweise arbeite ich mit Scintilla und MSPGCC, daher weiss ich nun 
ehrlich gesagt nicht, was ich falsch mache.
Vielleicht kennt jmd von euch das Problem?
Thx for help!

von Dennis (Gast)


Lesenswert?

_BIS_SR (GIE);

von Nico H. (gecko2152)


Lesenswert?

Moin Moin

ich muss den Thread jetzt nochma aufwärmen weil ich genau das selbe 
Problem habe. Ich verwende den selben MSP430 und die IAR Version: IAR 
C/C++ Compiler for MSP430 5.20.2 [Kickstart LMS] (5.20.2.40217).
Egal welche der folgenden Versionen ich eingebe:
      EINT();
      _EINT();
      __bis_SR_register(GIE);
      _BIS_SR (GIE);
      _BIS_SR(GIE);

Leider kommt bei jedem dieser Versuche folgende Fehlermeldung:

Error[e46]: Undefined external "xxx" referred in main.

Gibt das hier noch irgendwo ne Einstellung oder sonste was ich vergessen 
habe?

Als Header ist natürlich die "io430.h" eingebunden die automatisch die 
"msp430x26x.h" einbindet.

Vielen Dank im Voraus

von Erik (Gast)


Lesenswert?

schon mal ohne Klammer probiert ?
EINT

mfg Erik

von Nico H. (gecko2152)


Lesenswert?

Hab jetzt den Fehler gefunden.

der Befehl lautet:  _BIS_SR(GIE);

aber die Header-Datei Einbindung war net ganz richtig.
die "io430.h" hat die "io430x26x.h" eingebunden, welche aber an sich 
anscheinend nicht ausgereicht hat. Die Einbindung der "msp430x26x.h" hat 
zunächst aber auch nicht zum Erfolg geführt.

Aber als ich dann die "io430.h" in allen c-dateien entfernt habe und nur 
die "msp430x26x.h" eingebunden habe, hat es auf einmal funktioniert. 
Versteh einer diese Logik aber was solls.
Jut mal wieder Lehrgeld bezahlt.

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.