Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S256 - TC-Problem


von Alex D. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich brauche eure Hilfe.

Ich benutze das AT91SAM7S256-EK Board und wollte mit Hilfe des Timers 
LED mit 1 Hz blinken lassen. Beim debuggen sieht man, dass der 
Timerausgang (MTIOA) nicht wechselt. Habt ihr einen Tipp für mich was 
ich bei den Timereinstellungen falsch mache? Ich wäre sehr dankbar!

P.S.: Den Quellcode ist im Anhang!

Gruß Alex

von klaus (Gast)


Lesenswert?

Glaube du mußt die Clock erst starten indem du TC_CCR.SWTRG=1 schreibst

von Alex D. (Gast)


Lesenswert?

Ah, das war ein sehr guter Tipp, danke!
Der Timer läuft, aber die LED blinkt immer noch nicht.
Ist der Befehl zum Auslesen des MTIOA-Registers eigentlich richtig? 
(Habe gerade ein Brett vor Kopf...)

von klaus (Gast)


Lesenswert?

Guck dir doch nochmal das Blockschaltbild genau an. So wie ich das sehe 
sind MTIOx externe Eingänge, mit denen man einen Capture auslösen kann, 
keine Ausgänge. Aus dem Quellcode werde ich deshalb nicht ganz schlau.

Was du brauchst ist vermutlich Register TC_RC und das TC_SR.CPCS flag...

von Alex D. (Gast)


Lesenswert?

Ich benutze ja keinen Capture Mode, sondern Waveform Mode und da sind 
sie die Ausgänge.
Wie gesagt, der Timer funktioniert, MTIOA wechselt fleißig zwischen 1 
und 0, nur am PIOA kommt nichts davon an.

von klaus (Gast)


Lesenswert?

Wie sieht denn das Status register aus, ändern sich die Flags ?

von klaus (Gast)


Lesenswert?

Ähhh, ja moment, das hier ist Käse:
1
 if (AT91C_BASE_TC2->TC_SR == AT91C_TC_MTIOA)

Muss natürlich heißen:
1
 if ((AT91C_BASE_TC2->TC_SR & AT91C_TC_MTIOA) != 0u)

von Alex D. (Gast)


Lesenswert?

Das Einzige, was sich ändert ist MTIOA. CPAS und CPCS sind 0, wie der 
Rest auch.

von Alex D. (Gast)


Lesenswert?

jaaa, das war es, danke!
Das Einzige, was mich noch bisschen stört ist die Tatsache, dass das 
Tastverhältnis der Led >50% ist, d.h. die LED ist längere Zeit an als 
aus.
da muss ich mir wohl noch die RA- und RC-Register genauer anschauen.

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.