-         

Ergebnis 1 bis 3 von 3

Thema: Timer initialisierung

  1. #1

    Timer initialisierung

    Anzeige

    Hi,

    ich stecke gerade voll in den Klausurvorbereitungen. und seit ein paar Stunden beschäftige ich mit folgendem Problem

    Ein Timer soll so initialisiert werden, damit er unten abgebildetes Signal erzeugt. Das System
    wird mit 5MHz getaktet. Die Initialisierungsroutine ist bis auf die Werte für die Compare-
    Register fertig.
    Berechnen Sie die fehlenden Werte und tragen diese ins Listing ein. Dokumentieren Sie Ihren
    Lösungsweg.


    Der Code:

    // Timer3 initialisieren
    void Timer3_init( void )
    {
    StructTC* timerbase3 = TCB3_BASE; // Basisadressse TC Block 1
    StructPIO* piobaseA = PIOA_BASE; // Basisadresse PIO B
    timerbase3->TC_CCR = TC_CLKDIS; // Disable Clock

    // Initialize the mode of the timer 3
    timerbase3->TC_CMR =
    TC_ACPC_CLEAR_OUTPUT | //ACPC : Register C clear TIOA
    TC_ACPA_SET_OUTPUT | //ACPA : Register A set TIOA
    TC_WAVE | //WAVE : Waveform mode
    TC_CPCTRG | //CPCTRG : Register C compare trigger enable
    TC_CLKS_MCK2; //TCCLKS : MCKI / 2

    // Initialize the counter:
    timerbase3->TC_RA = ; //__
    timerbase3->TC_RC = ; //__

    // Start the timer :
    timerbase3->TC_CCR = TC_CLKEN ;
    timerbase3->TC_CCR = TC_SWTRG ;
    }

    Signal:
    low jeweils 4ms
    high 10 ms

    MCKI = 5MHz

    ICh hoffe Jemand kann mir weiterhelfen

    mfg
    goob

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    So wirklich wird dir da niemand helfen können, ausser ein ARM-Manual und die Dokumentation, was sich hinter den Makros und Strukturdefinitionen verbirgt.

    Das ganze soll offenbar ne PWM werden. Wird der Zähler mit 2.5MHz getaktet, dann vergehen pro ms 2500 Takte/Zählerinkremente. Nach 10000 Takten sind 4ms voll und nach 35000 Takten sind die 14ms vorbei, nachdem wieder alles von neu beginnt.
    Disclaimer: none. Sue me.

  3. #3
    Gast
    HI,
    danke für die Antwort.
    Also ich kenne diese Formel: 2,5 MHz / N = Taktfrequenz des Timers
    Wobei N in diesem Fall TC-RC ist.
    Nur weiß ich leider nicht wie man von den Zeitangaben auf die gewünschte Frequenz des Timers kommt.

    greetz
    goob

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •