mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP 430 Wie Timer in C programmieren?


Autor: Wolfgang (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe ähnliche Frage schon einmal für Assembler-programmierung gestellt.
(Problem konnte gelöst werden) Nun wollte ich es auch mit dem
C-Compiler von IAR probieren, aber ohne Erfolg.
Welchen Fehler könnte ich gemacht haben?
mfg
Wolfgang

Autor: OldBug (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Wolfgang!

Ich habe da mal ein bißchen manipuliert :)
Probiers mal so...

Gruß,
Patrick...

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Patrick,
vielen Dank, habe getestet, aber leider kein Erfolg
ich bleibe dran
mfg
Wolfgang

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was passiert denn?

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nichts, LED bleibt AUS

Autor: OldBug (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Wolfgang!

Ich war grad mal auf der TI-Seite, aber ich finde da irgendwie keinen
Fehler.
Naja, vielleicht bin ich auch zu blind ;)

Ich habe Dir mal ein Beispiel von TI angehängt.

Viel Glück ;)

Autor: Wolfgang (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Patrick,
das neue Programm läuft, leider ist es für mich  nicht vollkommen
verständlich;
z.B. im Continunous mode sollte der Zähler m.E. bis FFFFh hochlaufen-
macht nichts - es ist eine Möglichkeit ein Unterprogramm anzustoßen
ich habe es etwas auch etwas abgeändert, um mit dem Oszi besser die
Zeit ermitteln zu können.
Jetzt wird z. B. alle 5ms eine Impulsfolge (hier könnte das
Unterprogramm stehen) erzeugt.
Eine Frage noch (weil mein Englisch unterentwickelt ist): Was versteht
man unter toggle?
Vielen Dank für Deine Unterstützung
Mit freundlichen Grüßen
Wolfgang

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Toggle heist frei übersetzt "umschaltren".
Am einfachsten geht das per Exklusiv-oder verknüpfung, in Deinem Fall
für BIT0 also so:

#define TOGGLE(sfr, mask) sfr ^= mask

oder so:

P1OUT ^= BIT0

Weshalb CCR0 bei Dir keinen Einfluss hat, kann ich Dir jetzt so auch
nicht sagen, ich benutze Timer_A so:

    TACTL = 0x0216 | 0xC0;          // SMCLK, clear TAR, interrupt
enabled
    CCR0 = 0x2710;                  // measure interval is 100ms

...ich hoffe, das hilft Dir...

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke, wieder etwas schlauer
gruss
wolfgang

Autor: alexander binder (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

verfolge euren Beitrag mit viel Interesse.
Könnt Ihr mir sagen wie Ich einen Takt mit 32768 Hz erzeugen kann.
Möchte damit zuerst eine LED an/ausmachen und später einen Sensor mit
diesem Takt ansteuern.


Gruß Alexander

Autor: Wolfgang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Alexander,

da es viele Möglichkeiten zur Takterzeugung gibt, wäre es nützlich,
wenn du dein Projekt etwas konkretisierst.
Muss es ein MSP430 sein?
Man kann z. B. auch 2 Gatter und ein Uhrenquarz nehmen, um den Takt zu
erzeugen.
Mit freundlichen Grüßen
Wolfgang

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.