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.
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.
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. |
Ihr habt beide recht. Der oben beschriebene Code funktioniert wunderbar bei mir. [;code] PxIFG |= 0x01; [/code]
=) 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.