www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S256 - TC-Problem


Autor: Alex D. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: klaus (Gast)
Datum:

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

Autor: Alex D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...)

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Alex D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht denn das Status register aus, ändern sich die Flags ?

Autor: klaus (Gast)
Datum:

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

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

Autor: Alex D. (Gast)
Datum:

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

Autor: Alex D. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.