Forum: Mikrocontroller und Digitale Elektronik MSP430 Software Interrupt auslösen?


von F. Hof (Gast)


Lesenswert?

Hi Leute,

ich hab gerade ein kleines Problem. Ich möchte ein IO Interrupt auslösen 
und zwar in Software, weil ich noch keine Pereferie angeschlossen habe.
Kann mir einer kurz sagen wie ich das mache.

Einfach PxIFG |= 0x01; ?? oder den Pin einfach toggeln?
Steh bischen auf dem Schlauch.

Danke.

von noips (Gast)


Lesenswert?

F. Hof schrieb:
> Einfach PxIFG |= 0x01; ?? oder den Pin einfach toggeln?

PxIFG |= 0x01; sollte schon ausreichen. Wenn entsprechendes PxIE Bit und 
GIE bit gesetzt sind, sollte es gehen. Probier doch einfach aus und 
poste ob es geht oder nicht.

von READER (Gast)


Lesenswert?

steht im UserGuide...

z.B. für den MSP430F449

Interrupt Flag Registers P1IFG, P2IFG
Each PxIFGx bit is the interrupt flag for its corresponding I/O pin and 
is set
when the selected input signal edge occurs at the pin. All PxIFGx 
interrupt
flags request an interrupt when their corresponding PxIE bit and the GIE 
bit
are set. Each PxIFG flag must be reset with software. Software can also 
set
each PxIFG flag, providing a way to generate a software-initiated 
interrupt.
Bit = 0: No interrupt is pending
Bit = 1: An interrupt is pending
Only transitions, not static levels, cause interrupts. If any PxIFGx 
flag becomes
set during a Px interrupt service routine or is set after the RETI 
instruction of
a Px interrupt service routine is executed, the set PxIFGx flag 
generates
another interrupt. This ensures that each transition is acknowledged.
1
 
2
Software can also set each PxIFG flag, providing a way to generate a software-initiated interrupt.

von Fabian H. (Firma: keine) (eimer)


Lesenswert?

Ihr habt beide recht. Der oben beschriebene Code funktioniert wunderbar 
bei mir.

[;code] PxIFG |= 0x01; [/code]

von READER (Gast)


Lesenswert?

=)

ich hoffe es funktioniert auch brav.

hoffe wir konnten dir weiter helfen.

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.