www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430F149 Zählen am Eingang TACLK (P1.0)


Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte am Eingang P1.0 (TACLK) eines MSP430F149 ein Rechteckimpulse 
im TimerA zählen .
Nun habe ich schon alles mögliche Ausprobiert, aber das TimerA-Register 
(TAR) belibt immer auf 0.
Weiss jemand was alles gesetzt bzw. nicht gesetzt sein muss ?


  Gruß und DANKE
    Thorsten

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso liest du nicht die Abschnitte zum Timer A und seinen 
Betriebsarten/Registern im Family User Guide? Da steht alles sehr genau 
beschrieben drin.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian:

Die hab' ich natürlich gelesen, und es hört sich ja nicht so schwer an.
Folgendes habe ich implementiert:


P1SEL|=1;        // Enable TACLK
P1DIR=0;         // P1.0 (=TACLK)
TACTL=TACLR;      // Clear Timer

sprintf(s,"Frequency Cntr.");
displaystrxy(1,1,s);
sprintf(s,"...             ");
displaystrxy(1,2,s);

TAR=0;        // Counter=0
TACTL|=MC0;   // Up-Mode (=Start)
wait(1000);   // Etwas Zeit (1 Sekunde)
TACTL&=0xFFFF-MC0;  //Stop

sprintf(s,"%u Hz", TAR);
displaystrxy(1,2,s);

... aber wie gesagt TAR bleibt immer NULL.

   Gruß

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im TACTL muss meines Wissens der INCLK aktiviert werden.
Also TACTL |= TASSSEL_3;

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>TACTL|=MC0;   // Up-Mode (=Start)
up-mode zählt nur bis CCR0
falls CCR0 = 0 dann zählt TMR_A vielleicht nur von 0 bis 0 ->
also gar nicht!
Besser: TACTL|=MC1;   // continuous mode

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christian
>Im TACTL muss meines Wissens der INCLK aktiviert werden.
INCLK und TACLK sind verschiedene CLK-inputs für den Timer A
Wenn Thorsten seinen CLK an TACLK angeschlossen hat, dann muss er auch 
diesen auswählen. Soweit stimmt TACTL.

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, INCLK ist der invertierte TACLK. Hab ich verwechselt so ausm 
Kopf :)

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super !!

Es läuft ....

CCR0 darf nicht auf NULL stehen sonst zählt er wirklich nur von NULL bi 
NULL.


Danke Euch beiden für den Einsatz  !

  Gruß
    Thorsten

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.