www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM furch Funktionsaufruf gestartet: Wie lange bleibt PWM am Ausgang aktiviert?


Autor: Jannik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe folgenden Code gebastelt (für ATTiny 45):
/****************************/
/***     PWM Funktion     ***/
/****************************/

void PWM(uint8_t PWM_rate)
{
  if (PWM_rate == 0)
    {
    TCCR1 = 0x0f;       // PWM-Timer1 anhalten
    Last = aus;     // Last ausschalten
    }
  else
    {
    TCCR1 = (1<<PWM1A) | (1<<COM1A1) | (1<<COM1A0) | (1<<CS12);
    OCR1C = 199;    // ==> PWM Frequenz = 40 kHz
    OCR1A = PWM_rate;
    }
}

/****************************/
/***         Main         ***/
/****************************/
void main(void)
{
  [...]
  if (Schalterlaubnis)
  {
   // Last einschalten
   PWM(168);
  }
  else
  {
    // Last ausschalten
    PWM(0);         // PWM ausschalten
  }
  [...]
}

Wenn ich im Hauptprogramm die Funktion PWM aufrufe und den Timer starte 
sollte die PWM am Ausgang OC1A loslegen und solange aktiv bleiben bis 
ich sage Timer1 stopp (PWM(0))!
Ich stell mir das so vor: Ich springe in die Funktion PWM mit einem Wert 
und starte den Timer. Solange ich jetzt im Hauptprogramm bin, läuft die 
PWM am Ausgang bis ich die Funktion nochmal aufrufe und den Timer 
stoppe?

Autor: toe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du keinen Fehler im Code hat, dann läuft der PWM-Timer solange, bis 
du ihn wieder anhälst. Also so, wie du es möchtest. Im Zweifelsfall 
einfach am Ausgang messen was passiert oder im Studio debuggen...

Autor: Jannik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für Deine Info...

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.