Forum: Mikrocontroller und Digitale Elektronik MSP430G2452 Timer / Interrupt


von Markus G. (markusg85)


Lesenswert?

Hi Leute,

ich hab hier ein MSP430 Launchpad mit einem G2452 µC drauf. LED leuchten 
lassen klappt schon ganz gut, aber ich möchte unbedingt ein Timer mit 
Interrupt programmieren. Ich hab leider nur wenig bis gar keine 
Erfahrung mit µC. Ich suche schon seit Tagen im Internet nach was 
passendem, nur leider funktionieren die Codes bei mir nie. Und verstehen 
tu ich sie auch nicht. Hab auch schon die Datenblätter vom µC studiert. 
Aber ich komme einfach nicht mehr weiter.

Könnte mir bitte jemand von euch ein kleines Beispiel zeigen mit 
ausführlicher Erklärung?

Vielen Dank im voraus :-)

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Markus Gillhoff schrieb:
> Ich suche schon seit Tagen im Internet nach was passendem, nur leider
> funktionieren die Codes bei mir nie.

TI höchstselbst bietet Codebeispiele für genau Deinen Controller an. 
Die solltest Du Dir ansehen; mit Codebeispielen für andere 
MSP430-Varianten kann es schnell Probleme geben, weil die andere 
Peripheriemodule enthalten können.

www.ti.com/lit/zip/slac463

Darin enthalten ist die Datei !Readme.txt, in der aufgelistet wird, 
welches der Beispiele wofür da ist. Für Dich sind das die Dateien, deren 
Name mit msp430g2xx1_ta_ anfängt.

Zum Verständnis der Codebeispiele ist es wichtig, den "MSP430x2xx 
Family User's Guide" zur Hand zu haben.

http://www.ti.com/lit/pdf/slau144

Und damit ausgestattet gehst Du Zeile für Zeile des TI-Beispielcodes 
durch, siehst Dir an, welches Hardware-Register da jeweils angefasst 
wird, und suchst Dir im "Family User's Guide" die Beschreibung des 
jeweiligen Registers 'raus.

Im Abschnitt vor der Registerbeschreibung wird auf die allgemeine 
Funktion und die Betriebsarten des jeweiligen Hardwaremoduls 
eingegangen; hier geht es um Timer_A, also solltest Du Dir diesen 
einführenden Abschnitt mal durchlesen, um herauszufinden, was man mit 
diesem Timer so alles anstellen kann.

von Markus G. (markusg85)


Lesenswert?

Vielen Dank, die Beispiele haben mich jetzt schon mal weiter gebracht. 
Aber wie wendet man bei dem Timer einen "Prescaler" an?

von Markus G. (markusg85)


Lesenswert?

Bin selbst drauf gekommen..

..ID_0/1/2/3

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh' Dir das Übersichtsbild auf Seite 357 des "Family User's Guide" an.

Da siehst Du eine Art "Schaltplan" des Timers.

Oben links wird die Taktquelle ausgewählt, und unmittelbar darauf folgt 
der programmierbare Vorteiler. Das isser, der Prescaler. Mit den beiden 
Bits ID0 und ID1 im Register TACTL kannst Du zwischen /1, /2, /4 oder /8 
auswählen.

Die Bits und das Register sind auf Seite 370 beschrieben.

von SuFu (Gast)


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.