Forum: Mikrocontroller und Digitale Elektronik MSP430 Software Interrupt


von Bastler (Gast)


Lesenswert?

Hallo!

Kann man beim MSP430 einen Software-Interrupt auslösen?
Ich empfange Daten über die USCI und schreibe diese in ein Puffer.
Zur Zeit polle ich noch in der Main-Schleife den Füllstand des Puffers, 
was natürlich nicht gerade die feine englische Art ist. Würde das gerne 
mit einem Software-Interrupt machen, dessen Flag gesesetzt wird, wenn 
Daten im Puffer sind.
Kann man einen Software-Interrupt mit einer niedrigeren Priorität als 
die USCI-Schnittstellen unter Timer beim MSP430 erstellen?

Danke für schon mal für eure Hilfe!

Gruß
Bastler

von Tobias K. (kurzschluss81)


Lesenswert?

Las doch den Interrupt der Schnittstelle auslösen

von lucian (Gast)


Lesenswert?

eine möglichkeit wäre es, den Interrupt als PIN_Change interupt 
auszuführen. Wenn der Puffer voll ist einfach den PIN togglen (per 
software) und dann sollte der Interrupt angesprungen werden.

funktioniert beim AVR, beim MSP bin ich mir allerdings nicht 
hunderprozentig sicher. Wenn nicht, wäre es immer noch möglich zwei 
pin's extern zu verbinden, dann funktionierts auf jeden fall.

von Bastler (Gast)


Lesenswert?

Hallo!

Danke für die Antworten!
Das mit dem Pin-Interrupt muss ich mal probieren.
Die Empfangs-ISR kann ich nicht nehmen, da die Berechnungen viel zu 
lange dauern.

Viele Grüße
Bastler

von Christian R. (supachris)


Lesenswert?

Normalerweise ist das Pollen eines Flags in der Hauptschleife gerade die 
feine englische Art. Da kann man dann auch ganz leicht priorisieren und 
Strom sparen. In der ISR macht man so wenig wie möglich, setzt nur ein 
Flag dann. Bis zum Eintreffen des nächsten Interrupt musst du sowieso 
fertig sein mit rechnen, ob nun mit Flag-Polling oder über Interrupt. 
Lediglich die Latenzzeit ist höher/unbestimmt beim Polling. Bei TI gibts 
für eben das Polling auch ein Paper, wie man das stromsparend macht. 
"MSP430 Coding Techniques" oder sowas.

von Bastler (Gast)


Lesenswert?

Wie soll ich denn Strom sparen, wenn ich die CPU die ganze Zeit eine 
Variable pollen lasse? Mit einer ISR kann ich Sie schlafen legen ...
Ich schai mal, ob ich das von dir genannte Paper finde.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Bastler schrieb:
> Wie soll ich denn Strom sparen, wenn ich die CPU die ganze Zeit eine
> Variable pollen lasse? Mit einer ISR kann ich Sie schlafen legen ...

Dagegen spricht ja nichts. Du kannst allerdings beim MSP430 den 
Controller nach dem Interrupt wach lassen.

Damit hat sich hier Beitrag "Re: MSP430 Timer Uhr sekundentakt" 
schon mal jemand auseinandergesetzt.

von Bastler (Gast)


Lesenswert?

Hm...
Muss mal ein wenig experimentieren.
Nur durch das Lesenhabe ich das jetzt nicht verstanden ...

von Christian R. (supachris)


Lesenswert?


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.